@section
用于定义从共享视图覆盖的内容。基本上,它是您调整共享视图的一种方法(类似于 Web 表单中的母版页)。
你可能会发现Scott Gu 写的这篇文章非常有趣.
编辑:基于附加问题澄清
The @RenderSection
语法进入共享视图,例如:
<div id="sidebar">
@RenderSection("Sidebar", required: false)
</div>
然后这将被放置在您的视图中@Section
syntax:
@section Sidebar{
<!-- Content Here -->
}
在 MVC3+ 中,您可以直接定义用于视图的布局文件,也可以为所有视图使用默认视图。
通用视图设置可以在 _ViewStart.cshtml 中设置,它定义了与此类似的默认布局视图:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
您还可以设置共享视图直接在文件中使用,例如直接在index.cshtml中使用,如此片段所示。
@{
ViewBag.Title = "Corporate Homepage";
ViewBag.BodyID = "page-home";
Layout = "~/Views/Shared/_Layout2.cshtml";
}
您可以通过多种方式调整此设置,其中提到了更多方法这个答案.