У меня есть проект, который использует области MVC. В области находится весь проект, в то время как основные папки «Представления / Контроллеры / Модели» за пределами Области пусты, за исключением настроенного мной диспетчера диспетчера, который направляет входящие запросы по умолчанию на Домашний контроллер в моей области.
Этот контроллер имеет один метод следующим образом: -
public ActionResult Index(string id)
{
return RedirectToAction("Index", "Home", new {area = "xyz"});
}
У меня также есть настройка маршрута по умолчанию для использования этого контроллера следующим образом: -
routes.MapRoute(
"Default", // Default route
"{controller}/{action}/{id}",
new { controller = "Dispatch", action = "Index", id = UrlParameter.Optional }
);
Все запросы по умолчанию на мой сайт соответствующим образом направляются в соответствующую область. У метода «RegisterArea» Района есть один маршрут: -
context.MapRoute(
"xyz_default",
"xyz/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
В моей области несколько контроллеров с множеством просмотров. Любой вызов определенного представления в этих методах контроллера, таких как "return View (" blah ");
оказывает правильное представление. Однако всякий раз, когда я пытаюсь вернуть представление вместе с объектом модели, переданным в качестве параметра, я получаю
следующая ошибка: -
Server Error in '/DeveloperPortal' Application.
The view 'blah' or its master was not found. The following locations were searched:
~/Views/Profile/blah.aspx
~/Views/Profile/blah.ascx
~/Views/Shared/blah.aspx
~/Views/Shared/blah.ascx
Похоже, всякий раз, когда объект модели передается как параметр. к методу «View ()» [например, return View ("blah", obj)] он ищет представление
в корне проекта, а не в папке вида для конкретной области.
Что мне здесь не хватает?
Заранее спасибо.