Может быть, вы можете обойти это, используя два отдельных маршрута.Я думаю, что это также то, что Фил пытается продемонстрировать в примере регистрации маршрута на посту ' Неоднозначные имена контроллеров с областями '
routes.MapRoute(
"ARoute",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
routes.MapRoute(
"BRoute",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
Тогда вы можете обратиться к обоим маршрутам, как это:
public static string MyAreaHome(this UrlHelper helper) {
return helper.RouteUrl("ARoute",
new { controller = "Home", action = "Index" });
}
public static string MyOtherAreaHome(this UrlHelper helper) {
return helper.RouteUrl("BRoute",
new { controller = "Home", action = "Index" });
}