Я global.ascx с тремя маршрутамиКак маршрут в MVC3
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"TestRoute",
"{id}",
new { controller = "Product", action = "Index3", id = UrlParameter.Optional },
new { id = @"\d+" } //one or more digits only, no alphabetical characters
);
routes.MapRoute(
"TestCatalogRoute",
"{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "RsvpForm", id = UrlParameter.Optional } // Parameter defaults
//new { controller = "Product", action = "Index2", id = UrlParameter.Optional } // Parameter defaults
);
}
Когда я ввожу URL выбрать:
http://mydomain.com/
Он использует "TestCatalogRoute" маршрут, но я хочу "По умолчанию" маршрут TT
Как:
- с URL:
http://mydomain.com
он использует "по умолчанию" маршрут - с URL:
http://mydomain.com/1
он использует "TestRoute" маршрут (Это уже сделано!) - с URL:
http://mydomain.com/abc
использует "TestCatalogRoute" маршрут
Это хорошо, но я думаю «по умолчанию» маршрут рупор будет найти наконец :) – Stiger
Вы правы, и zerkms является лучшим ответом. Вы второй маршрут бесполезен без параметра id, поэтому он не должен быть дополнительным. – Peter