Что я делаю неправильно, что все мои действительные URL-адреса перенаправляются на HomeController, а недействительные URL-адреса корректно отклоняются.
У меня есть следующие контроллеры:
HomeController
ThisController
ThatController
MyController
Вот мой RouteConfig:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"StaticRoute",
"My/Index",
new { controller = "This", action = "Index" }
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
Все следующие URL-адреса направлены на "HomeController":
/
/Home
/Home/Index
/This
/This/Index
/That
Следующий URL-адрес правильно направлен на «ThisController»:
/My/Index
Принимая во внимание, что следующие 404 правильно корректируются:
/Home/NotExists
/This/NotExists
/His
/Her/Index
Похоже, что маршрут по умолчанию всегда использует значения по умолчанию, а не Параметры маршрута. Неужели мое понимание маршрутизатора неверно или я совершил какую-то другую ошибку?
EDIT
Все контроллеры имеют стандартные методы без индекса без параметров