在ASP.NET Core MVC中等效于"@section"?

Daa*_*ath 15 asp.net asp.net-mvc razor asp.net-core-mvc asp.net-core

在默认_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>
Run Code Online (Sandbox Code Playgroud)

而在下面就是这样 @RenderSection("scripts", required: false)

我似乎无法在任何单独的.cshtml文件中实现一个部分(在本例中为"scripts"),因为它看起来像是@section在Core中摆脱了" "

我想为特定视图添加特定脚本.什么是新的方式去做?我_Layout现在暂时抛弃一切吗?

Joe*_*tte 49

我觉得你错了.它在ASP.NET Core中运行得很好.我在_layout.cshtml中有这个

@RenderSection("scripts", required: false)
Run Code Online (Sandbox Code Playgroud)

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

@section Scripts {
    @if (Model.CanEdit)
   {
      await Html.RenderPartialAsync("EditorScriptsPartial");
   }
}
Run Code Online (Sandbox Code Playgroud)