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