As Darin and Rumi mentioned - there are no built-in attributes, however, you can achieve the same effect (through several controllers / actions) using one new route using the restriction parameter RouteCollection.MapRoute
on one route.
In the following route configuration, the "SSN" route is applied to the Foo or Bar controller, any other controller will follow the default route.
routes.MapRoute( name: "SSN", url: "{controller}/{action}/{ssn}", defaults: new { controller = "Foo", action = "Index" }, constraints: new { controller = "(Foo|Bar)", action = "Index" } ); // default route routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } );
Edit: Alternatively, you can use the ActionParameterAlias library, which seems to support what you originally requested.
source share