Thanks guys just discovered the route restrictions for the whole. And therefore, playing with some combination of routes, it seems that I work the way I want:
routes.MapRoute( "Detail", // Route name "{action}/{value}", // URL with parameters new { controller = "Companies", action = "Detail" }, // Parameter defaults new { value = @"\d+" } //integer only ); routes.MapRoute( "Company + Profession", // Route name "{action}/{value}/{profId}", // URL with parameters new { controller = "Companies", action = "Results" }, // Parameter defaults new { profId = @"\d+" } //integer only ); routes.MapRoute( "Profession", // Route name "{action}/{profId}", // URL with parameters new { controller = "Companies", action = "Results"}, // Parameter defaults new {profId = @"\d+" } //integer only ); routes.MapRoute( "Company", // Route name "{action}/{value}", // URL with parameters new { controller = "Companies", action = "Results" } // Parameter defaults ); routes.MapRoute( "RootFolder", // Route name "{action}/{value}", // URL with parameters new { controller = "Companies", action = "Index", value = UrlParameter.Optional } // Parameter defaults );
source share