Equivalent to "@section" in ASP.NET Core MVC?

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

 <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 is @RenderSection("scripts", required: false)

I can’t imagine the section (in this case, "scripts") in any separate .cshtml file, since it looks like they got rid of the " @section " in Core

I would like to add specific scripts for certain views. What is the new way to do this? Am I just dumping everything in _Layout now?

+6
source share
1 answer

I think you're wrong. It works great in ASP.NET Core. I have it in my _layout.cshtml

 @RenderSection("scripts", required: false) 

and in one of my views, I add scripts like this:

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

All Articles