2013-08-20 2 views
1

Я разрабатываю простую CMS с поддержкой темы. Я пытаюсь найти способ создания css и js bundles для каждой темы.MVC: Есть ли способ создать пакеты в поле зрения?

Я не хочу создавать связки в App_Start.

Что-то вроде поместить свой код в _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(...)); 

Только для примечания: Если вы действительно не нужно создавать пучки в контроллер/зрения, для характеристики манеры его лучшее место для создания пучков в app_start.

+0

Это работает, но он будет работать на каждом запросе страницы, вроде бы дрянной. Итак, что я сделал для своего решения, я сделал статический метод для вспомогательного класса, который принимает пакеты и регистрирует их. Затем он устанавливает значение «BundlesLoaded» в true. И BundlesLoaded верно, что код представления не работает с блоком if на! BundlesLoaded. –

Смежные вопросы