_Layout.cshtml - .NET MVC RAZOR
Cuando empezamos un proyecto web en .NET MVC, y comenzamos a diseñar nuestras vistas debemos saber que es el _Layout.
De una manera sencilla, el _Layout es una página maestra (Padre) de la cual descienden todas las vistas (Hijos) que deseemos.
Si por ejemplo, queremos que el header y footer aparezcan en nuestras todas nuestras vistas, no es necesario copiar y pegar en cada una de ellas. Para ello, declaramos nuestro header y footer en el _Layout y creamos nuestras vistas utilizando de página maestra al _Layout.
Por ejemplo:
<!DOCTYPE html>
<html lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8" />
<title>@ViewBag.Title - Mi aplicación ASP.NET MVC</title>
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link href="//netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
<meta name="viewport" content="width=device-width" />
</head>
<body>
<div id="header">
<h3>Mi aplicación .NET MVC</h3>
</div>
<div id="body">
<div class="content-wrapper main-content clear-fix">
@RenderBody()
</div>
</div>
<div id="footer">
<div class="content-wrapper">
<div class="float-left">
<p>© @DateTime.Now.Year - Mi aplicación ASP.NET MVC</p>
</div>
</div>
</div>
</body>
</html>
Como podemos ver, tenemos nuestro _Layout con el header, body y footer.
Ahora... En que parte del _Layout se hace referencia al contenido de nuestras vistas? En @RenderBody()
Al cargar una vista por pantalla, el _Layout siempre tendrá fijo el header y el footer, mientras que el body irá cambiando según la vista que se muestre a través del @RenderBody()
De una manera sencilla, el _Layout es una página maestra (Padre) de la cual descienden todas las vistas (Hijos) que deseemos.
Si por ejemplo, queremos que el header y footer aparezcan en nuestras todas nuestras vistas, no es necesario copiar y pegar en cada una de ellas. Para ello, declaramos nuestro header y footer en el _Layout y creamos nuestras vistas utilizando de página maestra al _Layout.
Por ejemplo:
<!DOCTYPE html>
<html lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8" />
<title>@ViewBag.Title - Mi aplicación ASP.NET MVC</title>
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link href="//netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
<meta name="viewport" content="width=device-width" />
</head>
<body>
<div id="header">
<h3>Mi aplicación .NET MVC</h3>
</div>
<div id="body">
<div class="content-wrapper main-content clear-fix">
@RenderBody()
</div>
</div>
<div id="footer">
<div class="content-wrapper">
<div class="float-left">
<p>© @DateTime.Now.Year - Mi aplicación ASP.NET MVC</p>
</div>
</div>
</div>
</body>
</html>
Como podemos ver, tenemos nuestro _Layout con el header, body y footer.
Ahora... En que parte del _Layout se hace referencia al contenido de nuestras vistas? En @RenderBody()
Al cargar una vista por pantalla, el _Layout siempre tendrá fijo el header y el footer, mientras que el body irá cambiando según la vista que se muestre a través del @RenderBody()