Dudedolf
Dudedolf

Reputation: 625

mvc3 map routes

I am looking to use the following urls and maps some routes accordingly

<domain>/Home/About
<domain>/Home/SiteList
<domain>/Site/<id>/ (this one is defaulted to the details view)
<domain>/Site/<id>/section1/ (this one goes to section1 route in the Site controller)
<domain>/Site/<id>/section2/ (this one goes to section2 route in the Site controller)

e.g.
<domain>/Site/london/siteinfo

The above are covered by

routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } //     Parameter defaults
        );

However, i also want to use the following routes

<domain>/Site/<siteid>/section1/controller/action (where controller gets data linked to the <siteid> and action is optional)

an example link would be:

<domain>/Site/london/siteinfo/manager (manager is a controller and will list managers for the site)

if have tried various routes and read various posts but could not find anything which was applicable to me.

Can anyone provide some help please?

Thanks Rudy

Upvotes: 1

Views: 341

Answers (1)

Kapil Khandelwal
Kapil Khandelwal

Reputation: 16134

Add one more route below "Default":

routes.MapRoute(
            "MyRouteName",                                              // Route name
            "{controller}/{action}/{id}/{section}/{subsection}",                           // URL with parameters
            new { controller = "Home", action = "Index", id= "", section= "", subsection = "" }  // Parameter defaults
        );

Upvotes: 1

Related Questions