ASP.NET MVC routes have names when mapped:
routes.MapRoute( 'Debug', // Route name -- how can I use this later???? 'debug/{controller}/{action}/{id}', new { controller = 'Home', action = 'Index', id = string.Empty } );
Is there a way to get the route name, e.g. ‘Debug’ in the above example? I’d like to access it in the controller’s OnActionExecuting so that I can set up stuff in the ViewData when debugging, for example, by prefixing a URL with /debug/…
The route name is not stored in the route unfortunately. It is just used internally in MVC as a key in a collection. I think this is something you can still use when creating links with HtmlHelper.RouteLink for example (maybe somewhere else too, no idea).
Anyway, I needed that too and here is what I did:
So I could register a route like this:
In my Controller action, I can access the route name with: