Ho un progetto di MVC4 con selezione della lingua:Il controller per il percorso non è stato trovato o non implementare IController
- en
- nl
- fr
- de
1 parte principale con:
- Chi
- comune (per il menu)
- Contatto
- Faq
- casa
e 3 aree:
- Admin
- Clienti
- negozio
In ogni zona ho almeno un controller, per esempio in Admin aver il controllore panoramica con cartella corrispondente vista panoramica che contiene una pagina index.aspx.
La pagina iniziale e tutte le pagine principali (circa, faq, ecc.) Funzionano e possono essere visitate).
Tuttavia, quando seguo l'url: localhost: xxxx/it/admin/panoramica ottengo l'errore
The controller for path '/en/admin/overview' was not found or does not implement IController.
Anche se, il percorso è corretto (posso vedere questo con itinerario Debugger). La pagina di errore mostra anche che l'errore è stato gettato, quando ho voluto caricare i miei principali voci di menu:
<nav id="site-navigation" class="eightcol">
@Html.Action("MenuItems", "Common")
</nav>
- Codice rimosso perché irrilevanti -
Tutto sembra essere in ordine, ma MVC non sembra in grado di caricare il menu, che si trova nella parte principale.
Quindi, la radice del problema è: Posso concedere ad un'area (ad esempio Admin) l'accesso ai controller nella parte principale (casa, comune, ecc.) Del mio progetto?
Hai provato a commentare la chiamata a Html.Azione per isolare il problema sul controller specifico? –
Non l'avevo ancora, ma ora l'ho fatto ed è come pensavo. L'area ** Admin ** utilizza il layout dalla parte principale del mio progetto e quando raggiunge l'azione l'area tenta di accedere al controller che non si trova nell'area che genera l'errore. In altre parole, la radice del problema è, come posso concedere un'area di accesso ai controller nella parte principale (controller di casa, comune, ecc.) Del mio progetto? –
La domanda sta ottenendo più possibili problemi e soluzioni. Quindi è d'obbligo, credo, guardare anche ad altre risposte e non l'unica accettata. – Alireza