Dans cet article, nous allons présenter Razor View Import. En plus du fichier ViewStart, il existe également un fichier ViewImports que le cadre MVC recherche lors du rendu de n’importe quelle vue.
Comme pour le fichier ViewStart, nous pouvons glisser-déposer ViewImports.cshtml dans le dossier, le fichier ViewImports peut affecter toutes les vues de la hiérarchie des dossiers
Cette vue est une nouvelle pour cette version de MVC ; dans les versions précédentes de MVC, nous pouvions utiliser des fichiers de configuration XML pour configurer certains aspects du moteur de vue Razor.
Ces fichiers XML ont disparu, et nous utilisons du code à la place.
Le fichier ViewImports est l’endroit où nous pouvons écrire du code et placer des instructions génériques pour intégrer l’espace de noms dont nous avons besoin pour nos vues.
S’il y en a un, nous utilisons généralement l’espace de noms dans notre vue, nous pouvons utiliser la directive dans le fichier ViewImports une fois que nous apparaissons, plutôt que d’utiliser l’espace de noms complet dans chaque vue ou type de type.
Exemple
Prenons un exemple simple pour voir comment déplacer la directive using dans ViewImports. Dans la vue Index, nous avons une commande using pour intégrer l’espace de noms FirstAppDemo.Controllers, comme montré dans le programme ci-dessous.
L’utilisation de directives permettra au code généré depuis la vue Razor de se compiler correctement. Sans utiliser de directives, le compilateur C# ne pourra pas trouver ce type Employé. Pour voir le type d’employé, supprimons la directive using du fichier Index.cshtml.
Maintenant, lance l’application.
Vous verrez une erreur indiquant que le type ou l’espace de noms HomePageViewModel n’est pas trouvé. Probablement parce que plusieurs de vos vues exigent la même directive d’utilisation. Créons donc une importation de Vue dans le dossier Vues au lieu de la mettre dans chaque vue. Cela ajoutera une instruction « using » à chaque vue, il suffit de faire un clic droit sur le dossier Vues et de sélectionner Ajouter→Nouvel élément.
Dans le panneau du milieu, sélectionnez la page MVC Voir les importations. Par défaut, le nom est _ViewImports.cshtml. Comme pour ViewStart, nous ne pouvons pas utiliser ce fichier pour afficher du HTML, alors appuyons sur le bouton Ajouter.
Ajoutez maintenant la directive using de ceci au fichier _ViewImports.cshtml comme montré ci-dessous.
Désormais, toutes les vues affichées dans ce dossier ou dans tout sous-dossier peuvent utiliser le type dans FirstAppDemo.Controllers sans spécifier une instruction use précise. Relanceons votre application et vous verrez que la vue est maintenant en cours.
|