У меня есть проект, который использует области 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" ( "бла" ); отображает правильный вид. Однако всякий раз, когда я пытаюсь возвратить представление вместе с объектом модели, переданным в качестве параметра, я получаю следующая ошибка: -
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
Похоже, всякий раз, когда объект модели передается как параметр. к методу "Просмотр()" (см. return View ( "blah", obj)] ищет точку зрения в корне проекта, а не в конкретной папке просмотра.
Что мне здесь не хватает?
Спасибо заранее.