我有一个项目是在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()
部分的渲染委托给上层?
答案 0 :(得分:0)
如果我正确理解了您的问题,请替换 _SecondLayout.cshtml
的最后一行 @RenderSection("Scripts", required: false)
使用
@section Scripts {
@RenderSection("Scripts", required: false)
}