当您的 PartialView 想要包含脚本时,使用的正确模式是什么?

What is the correct pattern to use when your PartialView wants to include scripts?

我的 MVC 5 应用程序中有一堆局部视图。

它们在一堆不同的页面中使用。它们依赖于某些脚本文件。

将脚本放在局部视图中似乎是一个很大的禁忌,所以我一直将脚本放在父页面中。

我一直无法弄清楚如何防止我的页面呈现逻辑分散在多个源文件中,而且当我添加现有的局部视图时总是忘记不同页面上的引用很烦人给他们。

似乎某种#include 指令在razor 局部视图中很有用。有人在用户贡献中将此连接到 MVC 吗?

我喜欢用forloop htmlhelpers...

在global.asax...

Forloop.HtmlHelpers.ScriptContext.ScriptPathResolver = System.Web.Optimization.Scripts.Render;

在Layout.cshtml...

@Html.RenderScripts()

在局部视图中...

@using (var ctx = Html.BeginScriptContext())
{
    ctx.AddScriptFile("~/bundles/whatever");
    ctx.AddScriptBlock(
    @<script>

    </script>
    );
}

如果这个包也能处理 css 文件就好了...通常局部视图使用一些 javascript 也需要一些 css.