Скотт написал в одной точке
Первый параметр в «RenderSection()» вспомогательный метод определяет название раздела, мы хотим, чтобы сделать в этом месте в шаблоне макета. Второй параметр является необязательным и позволяет нам определить, требуется ли раздел, который мы представляем, или нет. Если раздел « » является «обязательным», тогда Razor будет вызывать ошибку во время выполнения, если этот раздел не реализован в шаблоне представления, который основан на файле в файле макета (что облегчает отслеживание содержимого ошибок).
Итак, что делает RenderSection, представляет собой раздел, определенный в шаблоне/представлении (а не в общем _Layout). Немного дальше в разделе «Реализация раздела« SideBar »в нашем шаблоне просмотра» он объясняет, как реализовать раздел.
Итак, у вас есть раздел под названием «голова», который отображает раздел «голова» в представлении, который далее опущен/вложен.
Редактировать: посмотреть на http://blogs.msdn.com/b/marcinon/archive/2010/12/15/razor-nested-layouts-and-redefined-sections.aspx, чтобы увидеть, что я имею в виду с вложенными видами, но обратите внимание, что эта статья старше года.
MasterLayout:
@RenderSection("head", false)
SubLayout:
@{
Layout = "~/Views/_MasterLayout.cshtml";
}
@section head
{
RenderSection("head")
}
Содержание:
@{
Layout = "~/Views/_SubLayout.cshtml";
}
@section head
{
<title>Content-Layout</title>
}
Я понимаю, что, но код, который я отправил определяет '@section' голову и внутри скобки снова вызывает RenderSection. Должна ли определяться голова «@section» на дочерних страницах? –