@section
est pour la définition d'un contenu sont remplacer à partir d'une vision partagée. En gros, c'est une façon pour vous de régler votre avis partagé (similaire à une Page Web Forms).
Vous pourriez trouver Scott Gu de l'écriture sur ce très intéressant.
Edit: Basée sur la question de la clarification
L' @RenderSection
de la syntaxe va dans la position commune, tels que:
<div id="sidebar">
@RenderSection("Sidebar", required: false)
</div>
Ce serait alors placée dans votre point de vue avec @Section
syntaxe:
@section Sidebar{
<!-- Content Here -->
}
Dans MVC3+ vous pouvez définir la Mise en page de fichier à utiliser pour les visualiser directement ou vous pouvez avoir une vue par défaut pour tous les points de vue.
Point de vue commun paramètres peuvent être définis dans _ViewStart.cshtml qui définit la mise en page par défaut de la vue similaire à ceci:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
Vous pouvez également définir la vision commune de l'utiliser directement dans le fichier, telles que les index.cshtml directement comme le montre cet extrait.
@{
ViewBag.Title = "Corporate Homepage";
ViewBag.BodyID = "page-home";
Layout = "~/Views/Shared/_Layout2.cshtml";
}
Il existe une variété de façons dont vous pouvez régler ce paramètre avec un peu plus mentionné dans cette SORTE de réponse.