Je rencontre un problème avec le routage et les zones, comme l'indique le titre. J'ai une section sur les zones dans mon projet qui a juste un domaine. Il a un contrôleur de la politique là-bas. En dehors du projet, il y a un dossier de contrôleur avec un LoginController. Lorsque j'essaie d'accéder à l'URL "BoB/Login/ChangeSection" (BoB est le nom du projet, Login is controller, ChangeSection est une action), il est envoyé à "BoB/Policy/Login". Cela signifie que l'enregistrement de zone dans la zone de stratégie saisit la requête et met le préfixe de police en avant alors qu'il ne devrait pas l'être.Problème de routage avec les zones
Voici mon projet RouteConfig
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "BoBHome", action = "Index", id = UrlParameter.Optional },
namespaces: new string[] { "BoB.Controllers" }
);
et voici l'enregistrement de la région
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
name: "BoBPolicy_default",
url: "Policy/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new string[] { "BoB.Areas.BoBPolicy.Controllers" }
);
}
J'avais l'impression que les namespaces garderaient que cela se produise, mais il est évidemment pas. Toute aide est appréciée.
Quelques infos supplémentaires:
Cela vient d'un autre projet qui n'est pas MVC de sorte que le Redirect ressemble à ceci:
Response.Redirect("/BoB/BoBLogin/ChangeSection?controller=PolicyOverview");