web-dev-qa-db-fra.com

Équivalent de "@section" dans ASP.NET Core MVC?

Dans le fichier par défaut _Layout.cshtml, Les scripts sont définis dans des "environnements" comme ceci:

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

Et en dessous c'est @RenderSection("scripts", required: false)

Je n'arrive pas à implémenter une section (dans ce cas "scripts") dans un fichier .cshtml séparé car il semble qu'ils se soient débarrassés de "@section" Dans Core

Je voudrais ajouter des scripts spécifiques pour des vues spécifiques. Quelle est la nouvelle façon de procéder? Dois-je simplement tout vider dans _Layout Maintenant?

13
Daath

Je pense que vous vous trompez. Cela fonctionne très bien dans ASP.NET Core. Je l'ai dans mon _layout.cshtml

@RenderSection("scripts", required: false)

et dans une de mes vues, j'y ajoute des scripts comme celui-ci:

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