Je rencontre l'erreur suivante avec mon projet ASP.NET MVC 3:
Plusieurs types ont été trouvés qui correspondent au contrôleur nommé «Home». Cela peut se produire si la route qui traite cette demande ('Home / {action} / {id}') ne spécifie pas d'espaces de noms pour rechercher un contrôleur qui correspond à la demande. Si tel est le cas, enregistrez cette route en appelant une surcharge de la méthode 'MapRoute' qui prend un paramètre 'namespaces'.
La demande "Accueil" a trouvé les contrôleurs correspondants suivants: MyCompany.MyProject.WebMvc.Controllers.HomeController MyCompany.MyProject.WebMvc.Areas.Company.Controllers.HomeController
J'ai un HomeController dans mon dossier de contrôleur par défaut, avec un nom de classe MyCompany.MyProject.WebMvc.Controllers.HomeController.
Ma méthode RegisterRoutes, dans mon global.asax, ressemble à:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
J'ai alors une zone appelée Company, avec un HomeController dans le dossier du contrôleur par défaut pour la zone, avec un nom de classe MyCompany.MyProject.WebMvc.Areas.Company.Controllers.HomeController.
La méthode RegisterArea dans le fichier CompanyAreaRegistration ressemble à ceci:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Company_default",
"Company/{controller}/{action}/{id}",
new { area = "Company", action = "Index", id = UrlParameter.Optional }
);
}
Tout cela mène l'erreur que j'ai soulignée au début de cet article. J'ai du mal à essayer de trouver une solution à partir de divers autres messages, sans aucune chance .
Est-il possible d'avoir un HomeController dans le dossier des contrôleurs par défaut, puis un dans CHAQUE zone? Si tel est le cas, dois-je apporter des modifications (en supposant que je le fasse) à mon fichier de configuration pour que cela fonctionne?
Toute aide serait très appréciée!