2013-08-20 35 views
1

我正在開發一個簡單的CMS與主題支持。我試圖找到一種方法來爲每個主題創建CSS和js包。MVC:有什麼方法可以在視圖中創建包?

我不想在App_Start中創建Bundles。

喜歡的東西把我的代碼_ViewStart.html這樣的:

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

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

有沒有辦法做到這一點...?

回答

2

我終於找到了答案:

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

只是爲了說明:如果你真的不需要創建控制器/視圖束,性能風度創建bundle的最佳位置是在app_start。

+0

這可行,但它會運行在每個頁面請求,有點蹩腳。所以我爲我的解決方案做了什麼,我在一個接受包並註冊它們的幫助器類上做了一個靜態方法。然後它將「BundlesLoaded」設置爲true。並且BundlesLoaded是真的,視圖代碼不會在if塊上運行!BundlesLoaded。 –

相關問題