【问题标题】:MVC : Is there any way to create bundles in view?MVC:有没有办法在视图中创建包?
【发布时间】:2013-08-22 06:25:48
【问题描述】:

我正在开发一个带有主题支持的简单 CMS。我正在尝试找到一种方法来为每个主题创建 css 和 js 包。

我不想在 App_Start 中创建 Bundle。

像这样将我的代码放在 _ViewStart.html 中:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";

    Add(new ScriptBundle("~/bundles/myscripts").Include(
                "~/Scripts/myscript1.js",
                "~/Scripts/myscript2.js")); 
    //and so on...
}

有没有办法做到这一点...?

【问题讨论】:

    标签: javascript css asp.net-mvc bundle


    【解决方案1】:

    最终我找到了答案:

    System.Web.Optimization.BundleTable.Bundles
    .Add(new ScriptBundle("~/bundles/myscripts").Include(...));
    

    请注意:如果您真的不需要在控制器/视图中创建捆绑包,为了提高性能,最好在 app_start 中创建捆绑包。

    【讨论】:

    • 这行得通,但它会在每个页面请求上运行,有点蹩脚。所以我为我的解决方案所做的是我在一个辅助类上创建了一个静态方法,它接受包并注册它们。然后它将“BundlesLoaded”设置为 true。并且 BundlesLoaded 是 true,视图代码不会在 !BundlesLoaded 上使用 if 块运行。
    猜你喜欢
    • 2016-09-06
    • 2018-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多