template rendersection mvc dinamico cshtml _layout c# asp.net-mvc razor asp.net-mvc-layout

c# - rendersection - partial view mvc 5



ViewStart y Layout-¿cuál es la diferencia? (2)

Acabo de empezar a leer el libro ASP.NET MVC 4 y tengo una pregunta. En la parte de Razor, el autor dijo que si no configuro la variable Layout en el archivo View.cshtml, buscará por defecto un _ViewStart.cshtml, pero en otra parte está usando _Layout.cshtml en Views / Shared, no lo consigo. .

Si tengo algo como esto en View.cshtml:

@{ Layout = null; }

Dice que esta vista no tiene diseño, pero si la hago como:

@{ }

Entonces, ¿esto hará que la Vista busque un archivo _ViewStart.cshtml o _Layout.cshtml?


Básicamente, de forma predeterminada, tenemos un diseño maestro en Vistas >> Compartidos >> _Layout.cshtml y esto se define en _ViewStart.cshtml y cuál es nuestro diseño maestro predeterminado.

Cuando creamos una vista con un diseño maestro de forma predeterminada, su diseño maestro es _Layout.cshtml , pero podemos cambiarlo desde _ViewStart.cshtml

Cuando escribimos:

@{ Layout = null; }

en nuestra opinión, decimos que esta vista no tiene ningún diseño maestro, esto se usa cuando creamos una vista parcial en su mayoría o una vista independiente sin diseño maestro.

Si abre _ViewStart.cshtml de forma predeterminada, tiene escrito esto:

@{ Layout = "~/Views/Shared/_Layout.cshtml"; }

Y podemos cambiarlo si queremos.

También puede cambiar la vista maestra de una vista específica escribiendo encima de ella la url de la vista de la maqueta maestra:

@{ Layout = "~/Views/Shared/_CustomMasterLayout.cshtml"; }


Puede configurarlo como predeterminado (como lo ha hecho en el segundo ejemplo) o hacer su propio "personalizado" (que probablemente hará a partir de ahora).

Es probable que el autor entre en más / mejores detalles una vez que haya aprendido un poco más (creando hojas de diseño / etc).