У меня есть MVC 4 WebSite несколько областей ... I'm с помощью маршрутизации по умолчанию все созданное VS2012 ...MVC 4 маршрутизации «найти» контроллеры внутри зоны
Таким образом, я могу получить доступ (от Area1):
Area1/ControllerX/ActionX
у меня есть несколько контроллеров без Площадь, так что я могу получить доступ к:
ControllerY/ActionY
Все нормально ... Но, если я пытаюсь получить доступ к ControllerX без Area1, как это:
ControllerX/ActionX
Я получил эту ошибку:
Exception: The view 'ActionX' or its master was not found or no view engine supports the
searched locations. The following locations were searched: ~/Views/mangavagao/ActionX.cshtml
~/Views/Shared/ActionX.cshtml
Controller: ControllerX
Action: ActionX
Я ожидал не найдена ошибка 404 ... Почему этот маршрут был захвачен?
-
маршрут Площадь:
context.MapRoute(
"Area1_default",
"Area1/{controller}/{action}/{id}",
new { controller = "ControllerX", action = "ActionY", id = UrlParameter.Optional }
);
маршрут по умолчанию:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "ControllerY", action = "ActionY", id = UrlParameter.Optional );
Итак, 'ControllerX' находится в' Area1', но 'ControllerY' является стандартным контроллером, это правильно? –
Да, у контроллера нет области. – Paul