@sectiondient zum Definieren eines Inhalts, der aus einer gemeinsam genutzten Ansicht überschrieben wird. Grundsätzlich können Sie auf diese Weise Ihre freigegebene Ansicht anpassen (ähnlich einer Masterseite in Web Forms).
Vielleicht finden Sie Scott Gu's Artikel sehr interessant .
Bearbeiten: Basierend auf zusätzlicher Fragenklärung
Die @RenderSectionSyntax wird in die freigegebene Ansicht übernommen, z. B.:
<div id="sidebar">
@RenderSection("Sidebar", required: false)
</div>
Dies würde dann in Ihrer Ansicht mit der folgenden @SectionSyntax platziert:
@section Sidebar{
<!-- Content Here -->
}
In MVC3 + können Sie entweder die Layoutdatei definieren, die direkt für die Ansicht verwendet werden soll, oder Sie können eine Standardansicht für alle Ansichten festlegen.
Allgemeine Ansichtseinstellungen können in _ViewStart.cshtml festgelegt werden, wodurch die Standardlayoutansicht ähnlich wie folgt definiert wird:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
Sie können die freigegebene Ansicht auch so einstellen, dass sie direkt in der Datei verwendet wird, z. B. index.cshtml, wie in diesem Snippet gezeigt.
@{
ViewBag.Title = "Corporate Homepage";
ViewBag.BodyID = "page-home";
Layout = "~/Views/Shared/_Layout2.cshtml";
}
Es gibt verschiedene Möglichkeiten, diese Einstellung anzupassen, wobei einige weitere in dieser SO-Antwort erwähnt werden .