2009-05-12 6 views
6

Je veux des sous-dossiers dans mon application MVC, donc les routes actuelles ne les coupent pas.Route ASP.NET MVC personnalisée dans des dossiers imbriqués

J'ai une structure de dossiers tels que

Views/Accounts/ClientBalances/MyReport.aspx 

et je suis vouloir une URL telle que http://myapp/Accounts/ClientBalances/MyReport. Comment réalisez-vous cela avec des itinéraires de cartographie? J'ai eu un bash mais je ne suis pas très futé avec eux. Je pensais que ce serait le long de

routes.MapRoute(_ 
     "Accounts/ClientBalances", _ 
     "Accounts/ClientBalances/{controller}/{action}/{id}", _ 
     New With {.controller = "Home", .action = "Index", .id = ""} _ 
    ) 

Je n'ai pas eu de chance cependant. Des idées?

Répondre

1

L'emplacement de la vue n'a rien à voir avec l'itinéraire. Vos vues devraient être vues/[ControllerName]

3

Jetez un oeil à de ASP.NET MVC 2 areas; ils ressemblent beaucoup à ce que vous essayez d'accomplir. Vous pouvez regarder une vidéo rapide de 3 minutes en les présentant here.

Si vous ne pouvez pas (ou ne voulez pas) les utiliser, vérifiez this answer sur les dossiers de vue imbriqués. En résumé:

Vous pouvez simplement retourner la vue appropriée comme celui-ci (à partir de la méthode d'action):

return View("~/Views/controllername/modulename/actionname.ascx", [optional model]); 
Questions connexes