Насколько я понимаю, вы можете настроить отдельные пакеты, которые состоят из разных файлов. Затем вы можете включить эти пакеты в определенные страницы. Информация об этом здесь . Я думаю, что то, что вы ищете, описано в разделе «Пользовательские правила».
Вы спрашивали, как это сделать с контроллера. Я не думаю, что есть возможность для этого. После прочтения поста создается впечатление, что вы настраиваете пользовательские пакеты в global.asax, а затем ссылаетесь на этот пользовательский пакет в каждом представлении, частью которого вы хотите, чтобы он был.
Например, в вашем globabl.asax вы можете сделать это:
var b = new Bundle("~/CustomBundle", new JsMinify());
b.AddFile("~/scripts/knockout.js");
BundleTable.Bundles.Add(b);
Тогда, по вашему мнению, вы можете сделать это:
<script src="@Url.Content("~/CustomBundle")" type="text/javascript"></script>
Я попробовал это, и, похоже, все работает отлично.
Другая возможность - использовать Кассета . В настоящий момент он выглядит немного более продвинутым, хотя это может измениться после выхода MVC 4.