En este artículo, presentaremos Razor View Import. Además del archivo ViewStart, también existe un archivo ViewImports que el framework MVC busca al renderizar cualquier vista.
Al igual que con el archivo ViewStart, podemos arrastrar y soltar ViewImports.cshtml en la carpeta, el archivo ViewImports puede afectar a todas las vistas de la jerarquía de carpetas
Esta vista es nueva para esta versión de MVC; en versiones anteriores de MVC podíamos usar archivos de configuración XML para configurar ciertos aspectos del motor de vistas Razor.
Esos archivos XML ya no existen, y usamos código en su lugar.
El archivo ViewImports es donde podemos escribir código y colocar instrucciones genéricas para introducir el espacio de nombres que necesitamos para nuestras vistas.
Si lo hay, normalmente usamos el espacio de nombres en nuestra vista, podemos usar la directiva en el archivo ViewImports una vez que aparezcamos, en lugar de usar el espacio de nombres completo en cada vista o tipo de tipo.
Ejemplo
Tomemos un ejemplo sencillo para ver cómo mover la directiva using a ViewImports. En la vista Index, tenemos un comando using para introducir el espacio de nombres FirstAppDemo.Controllers, como se muestra en el programa a continuación.
Usar directivas permitirá que el código generado desde la vista de Razor se compile correctamente. Sin usar directivas, el compilador de C# no podrá encontrar este tipo Employee. Para ver el tipo de empleado, eliminemos la directiva using del archivo Index.cshtml.
Ahora, ejecuta la app.
Verás un error que indica que no se puede encontrar el tipo o espacio de nombres HomePageViewModel. Probablemente porque varias de tus opiniones requieren la misma directiva de uso. Así que creemos una importación de Vistas en la carpeta Vistas en lugar de ponerla en cada vista. Esto añadirá una instrucción de uso a cada vista; solo tienes que hacer clic derecho en la carpeta Vistas y seleccionar Añadir→Nuevo Elemento.
En el panel central, selecciona la página de Importaciones de Vista MVC. Por defecto, el nombre es _ViewImports.cshtml. Al igual que ViewStart, no podemos usar este archivo para renderizar HTML, así que vamos a pulsar el botón Añadir.
Ahora añade la directiva using de esto al archivo _ViewImports.cshtml como se muestra a continuación.
Ahora, todas las vistas que se muestran en esta carpeta o en cualquier subcarpeta pueden usar el tipo FirstAppDemo.Controllers sin especificar una instrucción using precisa. Vamos a ejecutar tu app de nuevo y puedes ver que la vista ya está activa.
|