所以MVC 4引入脚本和样式捆绑。 它允许这样的:
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/mobile").Include(
"~/Scripts/jquery.mobile-*"));
然后在这样的剃刀视图中使用:
@Scripts.Render("~/bundles/mobile")
我的问题是,为什么我必须键入"~/bundles/mobile"
? 有没有办法让intellisence有一个强类型的对象回暖呢? 否则,我必须去看看它,以确保我把它叫做同样的事情。
我愿做这样的事情:(我知道这不会编译这样,这只是一个例子)
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字符串路径。 我创建了一个类来保存pathes。
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)
你有它。 你的一点点额外的努力,但至少我们强烈现在输入。