2016-11-18 1 views
0

J'ai un projet MVC qui fonctionne bien et j'ai décidé d'utiliser "Area" car il est si difficile de trouver des contrôleurs et des vues. J'utilise aussi _Layout. Lorsque j'ai ajouté Area> Admin à mon projet, j'ai eu des problèmes. J'ai essayé de visiter « http://localhost/Admin/Admin/Index », j'ai eu l'erreur ci-dessous ...Le contrôleur pour le chemin '/ Admin/Admin/Index' n'a pas été trouvé ou n'installe pas IController

The controller for path '/Admin/Admin/Index' was not found or does not implement IController. 

Je pense que le problème est causé par une mise en page mais je ne sais pas comment résoudre ce problème. Quelqu'un peut-il me donner une idée?

+0

Ce chemin devrait fonctionner si votre contrôleur est nommé 'AdminController' . S'il a un nom différent, par ex. 'HomeController' (dans la zone Admin), puis utilisez'/Admin/Home/Index'. –

+0

@PeterB, en fait, il appelle la vue Si je visite/Admin/Admin/Index. mais il jette l'erreur quand il frappe @ {Html.RenderAction ("Menu", "Accueil");} dans la mise en page –

+0

C'est une information essentielle, qui aurait dû être dans la question ... Je vais créer une réponse. –

Répondre

1

L'appel RenderAction devrait ressembler à ceci lorsque la possibilité existe qu'il est appelé à l'intérieur d'une zone en se référant à un emplacement non-zone:

@Html.RenderAction("Menu", "Home", new { area = "" }) 
+0

merci beaucoup –