Possiedo un progetto che utilizza aree MVC. L'area ha l'intero progetto al suo interno mentre le cartelle principali "Viste/Controllori/Modelli" all'esterno delle aree sono vuote salvo il controller di invio che ho configurato che indirizza le richieste in ingresso predefinite al controller principale nella mia area.Aree MVC - Visualizzazione non trovata
Questo controller dispone di un metodo come segue: -
public ActionResult Index(string id)
{
return RedirectToAction("Index", "Home", new {area = "xyz"});
}
Ho anche un percorso di installazione di default per utilizzare questo controller come segue: -
routes.MapRoute(
"Default", // Default route
"{controller}/{action}/{id}",
new { controller = "Dispatch", action = "Index", id = UrlParameter.Optional }
);
Eventuali richieste di default al mio sito sono adeguatamente indirizzato verso l'area pertinente. Metodo "RegisterArea" di tale zona ha un unico percorso: -
context.MapRoute(
"xyz_default",
"xyz/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
mia zona ha più controller con un sacco di punti di vista. Qualsiasi chiamata a una vista specifica in questi metodi del controller come "return View (" blah "); visualizza la vista corretta. Tuttavia ogni volta che provo a restituire una vista insieme a un oggetto modello passato come parametro, ottengo l'errore seguente : -.
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
sembra ogni volta che un oggetto del modello è passato come parametro per il "View()" metodo [ad esempio Return ("bla", obj)] si cerca per la vista in la radice del progetto invece che nella cartella di visualizzazione specifica area.
che cosa mi manca qui?
Grazie in anticipo.
Viene eseguito per impostazione predefinita in un'applicazione Web ASP.NET MVC 2 in VS2008. Fa parte dell'impostazione predefinita di global.asax – user314827
Vedere la mia modifica .... –
Ciao Robert, Ho ricontrollato tutti gli spazi dei nomi del mio controller. Sono tutti allineati con ciò che dovrebbero essere, ovvero ProjectName.Areas.AreaName.Controllers. – user314827