ASP.NET Core - Inicio de Razor View
En este capitulo, tenemos el inicio de Razor View. Razor View Engine en MVC tiene una convencion en la que buscara cualquier archivo con el nombre _ViewStart.cshtml y ejecutara el codigo dentro de ese archivo. antes de ejecutar el codigo en una vista individual.
-
El codigo dentro del archivo ViewStart no se puede mostrar en la salida HTML de una pagina, pero se puede usar para eliminar el codigo duplicado de los bloques de codigo dentro vistas individuales.
-
En nuestro ejemplo, si queremos que cada vista use la vista Diseno que creamos en el ultimo capitulo, podriamos poner el codigo para definir la vista Diseno en un ViewStart en lugar de tener el codigo en cada vista.
Ejemplo
Tomemos un ejemplo simple paramira como funciona. En nuestra aplicacion, no queremos que cada vista especifique que su vista Diseno es _Layout.cshtml . Asi que haga clic derecho en la carpeta Vistas y seleccione Agregar → Nuevo elemento .
Hay una plantilla especifica en ASP.NET MVC para una pagina ViewStart, asi que seleccione MVC View Start Page en el panel central. La parte mas importante aqui es que este archivo se llama _ViewStart.cshtml . Ahora haga clic en el boton Agregar.
El uso principal de un archivo ViewStart es definir la vista Layout.
Ahora sigamos adelante al archivo Index.cshtml y corte la linea Layout, luego agreguela al archivo ViewStart como se muestra en el siguiente programa.
@ {Layout = "~ / Views / Shared / _Layout.cshtml}
-
Cuando el marco MVC el trabajo va a renderizar una vista, vera si hay un archivo ViewStart en algun lugar de la jerarquia de carpetas .
-
Hemos colocado _ViewStart directamente en nuestra carpeta Vistas. Esto afectara a todas las vistas en todas las carpetas que estan en la carpeta Vistas, asi como a las vistas en la carpeta Inicio, asi como a la carpeta Compartida, asi como a cualquier otra carpeta del controlador que podamos agregar. el futuro.
-
Si tomamos ViewStart y lo colocamos solo en la carpeta Inicio, este pequeno codigo solo se ejecutara cuando rendericemos una de esas vistas en la carpeta Inicio .
-
Incluso podemos tener varios archivos ViewStart, por lo que podriamos tener un ViewStart.cshtml aqui en la carpeta Vistas que define la vista Diseno para todas las vistas.
-
Pero si quisieramos cambiar este valor predeterminado atodas las vistas solo en la carpeta Inicio, podriamos tener otro ViewStart en la carpeta Inicio que establece el diseno en otra cosa.
Hagamos una copia de seguridad de todos los archivos y ejecutemos la aplicacion.
Vera que su pagina de inicio se ve exactamente como antes, y todavia tenemos la vista Diseno en efecto.