Маршрутизация на домашнюю страницу области в ASP.NET MVC - PullRequest
2 голосов
/ 28 октября 2010

Я пытаюсь перейти на домашнюю страницу области в MVC, например,

myDomain.com/myArea/Home/Index

когда я использую URL:

myDomain.com/myArea

MVC, кажется, пытается найти контроллер с именем «myArea» в корневой папке контроллеров и, таким образом, может маршрутизировать:

myDomain.com/myArea/Index

если Контроллер существовал.

Опять хочу:

myDomain.com/myArea

по маршруту:

myDomain.com/myArea/Home/Index

Я полагаю, что я должен быть в состоянии сделать это в Global.asax, не прибегая к созданию фиктивного контроллера, который перенаправляет к контроллеру области, но я нарисовал пробел.

1 Ответ

0 голосов
/ 29 октября 2010

Один из способов обойти это - установить свойство namespaces для маршрута по умолчанию в методе Global RegisterRoutes, что, похоже, решило эту проблему. Пришлось добавить это ограничение к некоторым другим маршрутам, где у меня были конфликты между Контроллером на главном веб-сайте и в этом районе.

var namespaces = new[] { "CompiledExperience.Website.Web.Controllers" };

routes.MapRoute("Default", "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional },
    namespaces
);
...