Equivalent of “@section” in ASP.NET Core MVC?

匿名 (未验证) 提交于 2019-12-03 01:38:01

问题:

In the default _Layout.cshtml file, scripts are defined in "environment"s like so:

<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> 

And below that is @RenderSection("scripts", required: false)

I can't seem to implement a section (in this case "scripts") in any separate .cshtml file since it looks like they got rid of "@section" in Core

I would like to add specific scripts for specific views. What is the new way to go about this? Do I just dump everything in _Layout now?

回答1:

I think you are mistaken. It works just fine in ASP.NET Core. I have this in my _layout.cshtml

@RenderSection("scripts", required: false) 

and in one of my views I'm adding scripts there like this:

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


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!