Procedimiento 1: Controle la representación de Layouts utilizando el archivo _ViewStart en el directorio raíz de la carpeta Vistas
Este método es la forma más sencilla para que los principiantes controlen la representación de diseños en su aplicación ASP.NET MVC. Podemos identificar el controlador y renderizar los Layouts como controlador par, para hacer esto podemos escribir nuestro código en el archivo _ViewStart en el directorio raíz de la carpeta Views. A continuación se muestra un ejemplo que muestra cómo se puede hacer.
@{
var controller = HttpContext.Current.Request.RequestContext.RouteData.Values["Controller"].ToString();
string cLayout = "";
if (controller == "Webmaster") {
cLayout = "~/Views/Shared/_WebmasterLayout.cshtml";
}
else {
cLayout = "~/Views/Shared/_Layout.cshtml";
}
Layout = cLayout;
}
Procedimiento 2: Establecer el diseño volviendo de ActionResult
Una de las grandes características de ASP.NET MVC es que podemos anular la representación del diseño predeterminado devolviendo el diseño de ActionResult. Por lo tanto, esta también es una forma de representar diferentes diseños en su aplicación ASP.NET MVC. El siguiente ejemplo de código muestra cómo se puede hacer.
public ActionResult Index()
{
SampleModel model = new SampleModel();
return View("Index", "_WebmasterLayout", model);
}
Procedimiento 3: Diseño por vista (definiendo el diseño dentro de cada vista en la parte superior)
ASP.NET MVC nos proporciona una gran característica y capacidad de fax para anular la representación del diseño predeterminado definiendo el diseño en la vista. Para implementar esto, podemos escribir nuestro código de la siguiente manera en cada Vista.
@{
Layout = "~/Views/Shared/_WebmasterLayout.cshtml";
}
Procedimiento 4: Colocando el archivo _ViewStart en cada uno de los directorios
Esta es una forma muy útil de establecer diferentes diseños para cada controlador en su aplicación ASP.NET MVC. Si queremos establecer el diseño predeterminado para cada directorio, podemos hacerlo colocando el archivo _ViewStart en cada uno de los directorios con la información de diseño requerida como se muestra a continuación:
@{
Layout = "~/Views/Shared/_WebmasterLayout.cshtml";
}
null
en la página renderizada?