У меня есть проект, который написан поверх платформы Asp.Net Core 2.2 и использует шаблонизатор Razor для генерации представлений.
У меня есть следующий макет "дедушка" _Layout.cshtml
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="author" content="CrestApps.com">
<meta name="description" content="@ViewData["description"]">
<meta name="keywords" content="@ViewData["keywords"]">
<title></title>
<partial name="_Styles" />
@RenderSection("Styles", required: false)
</head>
<body>
<partial name="_Header" />
<partial name="_CookieConsentPartial" />
<main role="main">
@RenderBody()
</main>
<partial name="_Footer" />
<partial name="_Scripts" />
@RenderSection("Scripts", required: false)
</body>
</html>
Это мой второй макет _SecondLayout.cshtml
выглядит так, что наследует мой _Layout.chtml
, как вы можете видеть в коде ниже
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
@RenderSection("Styles", required: false)
@RenderSection("Introduction", required: false)
<div class="container-fluid body-content ">
@RenderBody()
</div>
@RenderSection("Scripts", required: false)
Тогда мой взгляд будет выглядеть так
@{
Layout = "~/Views/Shared/_SecondLayout.cshtml";
}
@*.... Some code ....*@
@section scripts {
// Some JS Code
}
Приведенный выше код вставит @section scripts
в макет _SecondLayout
. Я хочу, чтобы он вставлялся в положение, где _Layout.cshtml
указывает на то, что JS-код должен находиться в самом низу страницы, а также загружается скрипт после загрузки всех других ресурсов.
Как я могу дать _SecondLayout
команду делегировать рендеринг раздела @RenderSection()
на верхний уровень?