Mam projekt korzystający z obszarów MVC. Obszar zawiera cały projekt, podczas gdy główne foldery "Widoki/Kontrolery/Modele" poza obszarami są puste, z pominięciem kontrolera dyspozytorskiego, który skonfigurowałem, który kieruje domyślne przychodzące żądania do kontrolera domowego w moim obszarze.Obszary MVC - Nie znaleziono widoku
Sterownik ten ma jeden sposób następujący: -
public ActionResult Index(string id)
{
return RedirectToAction("Index", "Home", new {area = "xyz"});
}
Mam też konfigurację domyślną trasę do korzystania z tego kontrolera w następujący sposób: -
routes.MapRoute(
"Default", // Default route
"{controller}/{action}/{id}",
new { controller = "Dispatch", action = "Index", id = UrlParameter.Optional }
);
Wszelkie wnioski domyślnych do mojej strony są odpowiednio kierowane do odpowiedniego obszaru. Metoda "RegisterArea" w obszarze ma jedną trasę: -
context.MapRoute(
"xyz_default",
"xyz/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
Mój obszar ma wielu kontrolerów z wieloma widokami. Każde wywołanie określonego widoku w tych metodach kontrolera, takich jak "return View (" blah "); , renderuje poprawny widok, ale gdy tylko spróbuję i zwróci widok wraz z obiektem modelu przekazanym jako parametr, otrzymam następujący błąd: : -.
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
wygląda na to, gdy obiekt model jest przekazywana jako param do "View()" metoda [np powrócić View ("bla", obj)] wyszukuje widoku w katalog główny projektu zamiast w folderze widoku określonego obszaru:
Czego mi tu brakuje?
Z góry dzięki.
Jest to robione domyślnie w aplikacji sieci web ASP.NET MVC 2 w VS2008. Jest częścią konfiguracji domyślnej global.asax – user314827
zobaczyć moje zmienił .... –
Cześć Robert, I ponownie sprawdzano wszystkie moje nazw kontrolerów. Wszystkie są zgodne z tym, czym powinny być, czyli ProjectName.Areas.AreaName.Controllers. – user314827