У меня есть веб-сайт ASP.NET MVC и проект области под названием «Admin».Должны ли имена контроллеров быть уникальными даже в отдельных областях?
Пока что маршрутизация работает нормально, за исключением того, что, похоже, у меня не может быть 2 контроллера с одинаковым именем в каждом проекте.
Я думал, следующие URL-адреса будут оба работают нормально:
Но получается, что я получаю следующее сообщение об ошибке при обращении либо:
Контрольное имя «Главная» неоднозначен между следующими типами:
MyProject.Website.Controllers.HomeController
MyProject.Admin.Controllers. HomeController
Это нормально, или что-то не так с моей настройкой?
Кстати, вот мой код маршрутизации:
Основной проект:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
Admin.Routes.RegisterRoutes(routes);
routes.MapAreaRoute(
"Main",
"default_route",
"{controller}/{action}/{URLName}",
new { controller = "Home", action = "Index", URLName = "" },
new string[] { "MyProject.Website" }
);
}
проект Площадь:
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapAreaRoute(
"Admin",
"Admin_Default",
"Admin/{controller}/{action}",
new { controller = "Home", action = "Index" },
new string[] { "MyProject.Admin" }
);
}
Спасибо, что было действительно полезно. Хорошо работает после добавления пространства имен. – jesperlind