所以 MVC 4 引入了脚本和样式捆绑。这允许这样做:
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/mobile").Include(
"~/Scripts/jquery.mobile-*"));
然后在像这样的剃刀视图中使用:
@Scripts.Render("~/bundles/mobile")
我的问题是为什么我必须输入"~/bundles/mobile"
?有没有办法获得智能以获取强类型对象?否则我必须去查一下以确保我称它为同一个东西。
我想做这样的事情:(我知道这不会编译,这只是一个例子)
public static void RegisterBundles(BundleCollection bundles)
{
Bundle mobile = new Bundle("mobile");
mobile.AddFile("w/e")
bundles.Add(mobile);
//in page:
@Scripts.Render(BundleConfig.mobile)
或有影响的东西。
编辑:答案很简单。正如所@Hao Kung
指出的,@Styles.Render
只需要一个 url 字符串路径。我创建了一个类来保存路径。
public class bundles
{
#region Javascript
public static string scripts = "~/bundles/scripts";
...
#endregion
#region CSS
public static string css = "~/Content/css";
public static string jqueryUi = "~/Content/themes/base/css";
...
#endregion
}
在任何页面中,您只需执行
@Styles.Render(bundles.jqueryUi)
你有它。您需要付出一些额外的努力,但至少现在它是强类型的。