代码之家  ›  专栏  ›  技术社区  ›  John Shedletsky

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

  •  1
  • John Shedletsky  · 技术社区  · 10 年前

    我的MVC 5应用程序中有很多部分视图。

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

    将脚本放在部分视图中似乎是一个很大的“不”,所以我一直在将脚本放到父页面中。

    我还没有弄清楚如何避免页面呈现逻辑分散在多个源文件中,而且当我向不同页面添加现有的部分视图时,总是忘记不同页面上的引用,这很烦人。

    似乎某种#include指令在剃刀局部视图中很有用。是否有人在用户设计中将此应用于MVC?

    1 回复  |  直到 10 年前
        1
  •  1
  •   dotjoe    10 年前

    我喜欢使用 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,而javascript也需要一些css。