@section
предназначен для определения содержимого, которое переопределяется из общего представления. По сути, это способ настроить ваше общее представление (аналогично мастер-странице в веб-формах).
Вы можете найти статью Скотта Гу об этом очень интересной .
Изменить: на основе дополнительных разъяснений вопроса
@RenderSection
Синтаксис переходит в Shared View, такие как:
<div id="sidebar">
@RenderSection("Sidebar", required: false)
</div>
Затем это будет помещено в ваше представление с @Section
синтаксисом:
@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";
}
Есть множество способов отрегулировать этот параметр, и еще несколько, упомянутых в этом ответе SO .