Как установить маршрут по умолчанию (в область) в 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 на странице. Если область не задана, ссылка на действие выводится пустой.

Все это по замыслу или недостаток?

Ответы на вопрос(13)

Ваш ответ на вопрос