2010-03-12 5 views
4

En utilisant ASP.NET MVC, je dois configurer mes URL comme ceci:Comment configurer une URL avec 3 niveaux dans ASP.NET MVC?

www.foo.com/company: Voir Société render

www.foo.com/company/about: render Voir société

www.foo.com/company/about/mission: rendre Voir Mission

Si "société" est mon contrôleur et "environ" est mon action, ce qui devrait être « mi ssion "?

Pour chaque "dossier" (société, sujet et mission) je dois rendre une vue différente.

Quelqu'un sait comment je peux faire cela?

Merci!

Répondre

4

En premier lieu, configurer votre point de vue:

Views\ 
    Company\ 
    Index.aspx 
    About.aspx 
    Mission.aspx 
    AnotherAction.aspx 

Dans votre méthode GlobalAsax.RegisterRoutes (itinéraires de RouteCollection):

public static void RegisterRoutes(RouteCollection routes) 
{ 
    // this will match urls starting with company/about, and then will call the particular 
    // action (if it exists) 
    routes.MapRoute("mission", "company/about/{action}", 
     new { controller = "Company"}); 
    // the default route goes at the end... 
    routes.MapRoute(
    "Default",            // Route name 
    "{controller}/{action}/{id}",       // URL with parameters 
    new { controller = "Home", action = "Index", id = "" } // Parameter defaults 
); 
} 

Dans le contrôleur:

CompanyController 
{ 
    public ViewResult Index() { return View(); } 
    public ViewResult About() { return View(); } 
    public ViewResult Mission() { return View(); } 
    public ViewResult AnotherAction() { return View(); } 
}