Ho appena aggiunto una nuova area Admin al mio progetto poiché ha iniziato a diventare abbastanza grande e voglio mantenerlo strutturato.Come si gestiscono le aree MVC e RenderAction in diversi controller?
Ho una vista _ViewStart.cshtml che imposta una pagina di layout condivisa per includere un menu e una parte con alcune informazioni utente. Poiché non è stato aggiunto alla mia area, ho aggiunto il file _ViewStart anche alla mia area.
Questo file imposta il layout su "~/Views/Shared/_Layout.cshtml", che si trova all'esterno dell'area di amministrazione. Tuttavia, il file _Layout include un metodo RenderAction() che chiama un metodo di azione figlio sul controller per il rendering. Il problema è che l'area non sembrano avere la visibilità di questo controller e così getta la seguente eccezione:
The controller for path '/Admin/LeadOrigin' was not found or does not implement IController.
Il punto in cui si è verificato anche se è qui:
Line 70: <div id="logindisplay">
Line 71: @{
Line 72: Html.RenderAction("UserInfo", "Account");
Line 73: }
Line 74: </div>
Il RenderAction() sopra funziona normalmente in quanto il controller dell'account è all'interno dell'ambito della vista, mentre nell'area di amministrazione, sembra che non abbia lo scopo di questo controller.
Qualche idea su come aggirare questo problema?