En ASP.NET MVC, il y a 2 moteurs de vues (View Engine) configurés par défaut (Vous pouvez créer vos propres moteurs de vue ou en utiliser d’autres moteurs existants) :
- WebFormsViewEngine pour les vues en .aspx (et .acsx)
- RazorViewEngine pour les pages en Razor .cshtml.
Dans la plupart des cas, une application n’utilisera qu’un seul moteur de vue (ma préférence va à Razor que je trouve plus lisible). Cela sera d’autant intéressant dans le cas du moteur Razor car celui-ci est enregistré en second. En effet, le moteur de vue WebFormsViewEngine sera appelé en premier. Celui-ci va rechercher un fichier aspx ou ascx correspondant à la vue à afficher. Ne le trouvant pas, le moteur de vue WebFormsViewEngine pour générer la vue en cshtml.
Voyons comment supprimer le moteur de vue pour WebForms dans le cas où on code les vues en Razor :
// On supprime tous les moteurs de vue enregistré ViewEngines.Engines.Clear(); // On rajoute le moteur pour les vues en Razor ViewEngines.Engines.Add(new RazorViewEngine());
Pour finir, voici un lien avec un comparatif des différents moteurs de vue pour MVC.
Tweet