Neste artigo, vamos apresentar a Importação de Visualização de Razor. Além do arquivo ViewStart, também existe um arquivo ViewImports que o framework MVC procura ao renderizar qualquer visualização.
Assim como no arquivo ViewStart, podemos arrastar e soltar ViewImports.cshtml na pasta, o arquivo ViewImports pode afetar todas as visualizações na hierarquia de pastas
Esta visão é nova para esta versão do MVC; em versões anteriores do MVC podíamos usar arquivos de configuração XML para configurar certos aspectos do motor de visualização Razor.
Esses arquivos XML agora desapareceram, e usamos código em seu lugar.
O arquivo ViewImports é onde podemos escrever código e colocar instruções genéricas para trazer o namespace que precisamos para nossas visualizações.
Se houver, geralmente usamos o namespace em nossa visão, podemos usar a diretiva no arquivo ViewImports assim que aparecermos, em vez de usar o namespace completo em cada view ou tipo de tipo.
Exemplo
Vamos pegar um exemplo simples para ver como mover a diretiva using para o ViewImports. Na visualização Index, temos um comando using para trazer o namespace FirstAppDemo.Controllers, conforme mostrado no programa abaixo.
Usar diretivas permitirá que o código gerado pela visualização do Razor seja compilado corretamente. Sem usar diretivas, o compilador C# não conseguirá encontrar esse tipo Employee. Para ver o tipo de empregado, vamos remover a diretiva using do arquivo Index.cshtml.
Agora, execute o app.
Você verá um erro indicando que o tipo ou namespace HomePageViewModel não pode ser encontrado. Provavelmente porque várias das suas visões exigem a mesma diretiva de uso. Então vamos criar uma importação de View na pasta Views em vez de colocá-la em cada view. Isso adicionará uma instrução de uso a cada visualização, basta clicar com o botão direito na pasta Visualizações e selecionar Adicionar→Novo Item.
No painel do meio, selecione a página MVC View Imports. Por padrão, o nome é _ViewImports.cshtml. Assim como no ViewStart, não podemos usar esse arquivo para renderizar HTML, então vamos apertar o botão Adicionar.
Agora adicione a diretiva using deste arquivo ao arquivo _ViewImports.cshtml, como mostrado abaixo.
Agora, todas as visualizações exibidas nesta pasta ou em qualquer subpasta podem usar o tipo em FirstAppDemo.Controllers sem especificar uma instrução use precisa. Vamos rodar seu app novamente e você pode ver que a visualização está rodando.
|