Как установить маршрут по умолчанию (в область) в MVC
Хорошо, об этом уже спрашивали, но там нет твердого решения. Так что для целей себя и других, которые могут найти это полезным.
В MVC2 (ASP.NET) я хочу, чтобы, когда кто-то переходил на веб-сайт, была указана область по умолчанию. Поэтому переход на мой сайт должен отправить вас в ControllerX ActionY в AreaZ.
Используя следующий маршрут в Global.asax
routes.MapRoute(
"Area",
"",
new { area = "AreaZ", controller = "ControllerX ", action = "ActionY " }
);
Теперь это работает, так как он пытается обслуживать правильную страницу. Однако MVC продолжает поиск View в корне сайта, а не в папке Area.
Есть ли способ решить эту проблему?
РЕДАКТИРОВАТЬ
Eсть 'Решение' и это в ControllerX, ActionY возвращает полный путь к представлению. Немного взломать, но это работает. Однако я'Я надеюсь, что есть лучшее решение.
public ActionResult ActionY()
{
return View("~/Areas/AreaZ/views/ActionY.aspx");
}
Редактировать:
Это также становится проблемой при наличии HTML-ссылки ActionLink на странице. Если область не задана, ссылка на действие выводится пустой.
Все это по замыслу или недостаток?