de Scott escribió en un momento
El primer parámetro de la “RenderSection()” método de ayuda especifica el nombre de la sección que queremos hacer en ese lugar en la plantilla diseño. El segundo parámetro es opcional y nos permite definir si se requiere o no la sección que estamos procesando. Si se requiere una sección , Razor arrojará un error en el tiempo de ejecución si esa sección no está implementada dentro de una plantilla de vista basada en en el archivo de diseño (que puede facilitar el rastreo de errores de contenido ).
Por lo tanto, lo que RenderSection hace, es la representación de una sección definida en la plantilla/vista (no el _Layout general). Un poco más adelante en "Implementación de la sección" Barra lateral "en nuestra plantilla de vista" explica cómo implementar una sección.
Así que en general, lo que tiene es una sección llamada "cabeza" que representa una sección llamada "cabeza" en una vista que está más abajo/anidada.
Edición: eche un vistazo a http://blogs.msdn.com/b/marcinon/archive/2010/12/15/razor-nested-layouts-and-redefined-sections.aspx para ver lo que quiero decir con vistas anidadas, pero tenga en cuenta que este artículo tiene más de un año.
MasterLayout:
@RenderSection("head", false)
SubLayout:
@{
Layout = "~/Views/_MasterLayout.cshtml";
}
@section head
{
RenderSection("head")
}
contenido:
@{
Layout = "~/Views/_SubLayout.cshtml";
}
@section head
{
<title>Content-Layout</title>
}
entiendo eso, pero el código que he publicado define la cabeza '@section' y dentro de llaves llama otra vez RenderSection. ¿No debería definirse el encabezado '@section' en las páginas secundarias? –