RenderBody和RenderSection的使用
RenderBody会把当前视图所有的内容除了RenderSection中的部分 全部都替换到当前视图使用的布局视图的RenderBody里面。
RenderSection 是指明一个部分。这一部分 可以替换到布局视图的某一个地方。
一个布局中可以有多个RenderSection
在布局视图中@RenderBody() 直接写就可以了
但是RenderSection 则需要指明名称还有是否必须。
@RenderSection("Scripts", required: false)Code language: JavaScript (javascript)
比如这里意思是我这个seciton是叫做Scripts名称 并且它不是必须 也就是说 你在action视图中 可以不给这个部分也可以。
在非布局视图中 section的位置任意的。但是要符合语法。比如写在C#代码里面。
@section Scripts {
<h1>这里是就是部分视图的内容 可以支持razro语法 也可以有潜入的C#</h1>
<h1>@currentUser.Name</h1>
@if (true)
{
<h1>FoxDevelop</h1>
}
}Code language: HTML, XML (xml)
补充
我们的这个Scripts部分 其实它愿意是为了让我们如果在视图中 需要引入当前页面的特殊js文件的话 那么可以在@section Scripts {} 这里面引入
@section Scripts {
<script src="~/js/site.js"></script>
}Code language: HTML, XML (xml)
Previous: 21-视图中指定布局和_ViewStart.cshtml文件
Next: 24-Razor的共享指令