web-dev-qa-db-fra.com

ASP.NET MVC Comment spécifier dans quel dossier résident les pages de visualisation?

par défaut, le moteur ASP.NET MVC recherche les pages d'affichage dans les dossiers suivants:

  • /Views/{Controller_Name}/{Action}.aspx
  • /Views/Shared/{Action}.aspx

Cependant, je veux mettre certaines de mes pages View comme ceci:

  • /Views/{Namespace}/{Controller_Name}/{Action}.aspx

Comment puis-je laisser le moteur chercher cela?

39
Ropstah

Vous devez créer une classe dérivée de l'interface IViewEngine et enregistrer cette classe dans l'événement Aplication_Start dans Global.asax.cs Vérifiez cela texte du lien , mais il existe des différences avec 1.0

8
Ofigenn

Vous pouvez renvoyer la vue placée dans des sous-dossiers personnalisés, à partir de l'action du contrôleur en donnant le chemin de la vue complète dans la déclaration de retour,

ex.

public ActionResult Create()
{
    return View("~/Views/ProEnhance/Employee/Create.cshtml");
}

ici,

ProEnhance - dossier défini par l'utilisateur

Employé - Nom du contrôleur

Créer - Nom de l'action

67
Kailas Mane