相当于" @ section"在ASP.NET核心MVC?

时间:2016-03-25 14:50:25

标签: asp.net asp.net-mvc razor asp.net-core asp.net-core-mvc

在默认的_Layout.cshtml文件中,脚本在"环境中定义,如下所示:

<environment names="Development">
     <script src="~/lib/jquery/dist/jquery.js"></script>
     <script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
     <script src="~/js/site.js" asp-append-version="true"></script>
</environment>
<environment names="Staging,Production">
     <script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.1.4.min.js"
                    asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
                    asp-fallback-test="window.jQuery">
     </script>
     <script src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.5/bootstrap.min.js"
                    asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.min.js"
                    asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal">
     </script>
     <script src="~/js/site.min.js" asp-append-version="true"></script>
</environment>

低于@RenderSection("scripts", required: false)

我似乎无法在任何单独的.cshtml文件中实现一个部分(在本例中为#34;脚本&#34;),因为看起来他们已经摆脱了&#34; @section &#34;在核心

我想为特定视图添加特定脚本。什么是新的方式去做?我现在只在_Layout转储所有内容吗?

1 个答案:

答案 0 :(得分:43)

我认为你错了。它在ASP.NET Core中运行得很好。我在_layout.cshtml

中有这个
@RenderSection("scripts", required: false)

在我的一个观点中,我正在添加脚本,如下所示:

@section Scripts {
    @if (Model.CanEdit)
   {
      await Html.RenderPartialAsync("EditorScriptsPartial");
   }
}