2009-04-28 6 views
34

par défaut, le moteur ASP.NET MVC recherche dans les dossiers suivants pour Voir pages:ASP.NET MVC Comment spécifier le dossier dans lequel les pages View se trouvent?

  • /Vues/{} nom_contrôleur /{Action}.aspx
  • /Vues/partagée/{action } .ASPX

Cependant, je veux mettre un peu de mes pages Voir comme ceci:

  • /Vues/{} Namespace/{} nom_contrôleur /{Action}.aspx

Comment puis-je laisser l'apparence du moteur pour cela?

+0

désolé pour rollback, mais il a vraiment besoin de montrer comme ceci: -) – Ropstah

+0

j'ai fixé la catégorie trop désolé. –

Répondre

7

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 Cocher cette link text, mais il y a quelques différences avec 1,0

+0

C'est un peu, je vais passer ce soir ;-). Thx pour l'info jusqu'à présent .. – Ropstah

+2

En fait, je l'ai lu un peu et j'ai remarqué la classe VirtualPathProviderViewEngine. C'est ce que je cherchais. THX! – Ropstah

59

Vous pouvez retourner vue placés dans les sous-dossiers personnalisés, à partir de l'action du contrôleur par, en donnant le chemin d'accès complet dans l'instruction 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éation - Action Nom

+1

est-il possible de faire quelque chose comme ça? 'View.defaultLocation = "(" ~/Vues/ProEnhance/"); public ActionResult Créer() { retour View();} ' – Muflix

+1

Tout développeur, qui pourrait répondre @Muflix? Question s, La réponse ci-dessus (réponse d'Ofigen) affichée ne répond pas correctement à la question, je suis toujours à la recherche de cette question aussi. –

Questions connexes