Пока я не могу сделать эту работу, и мне нужна помощь, пожалуйста. У меня есть базовый сайт MVC 5, и я добавил область под названием «Администрирование». На всю жизнь я не могу понять, как правильно установить контроллер/действие по умолчанию для области.
На моем сайте у меня есть область с именем Admin, контроллер с именем Admin (с методом Index и представлением), и это регистрация области:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
name: "Admin_base",
url: "Admin",
defaults: new { area = "Admin", controller = "Admin", action = "Index", id = UrlParameter.Optional }
);
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
Первый MapRoute позволяет мне перейти к http://myapplication/Admin
и отображает заданное мной представление (Admin/Index), а URL-адрес остается http://myapplication/Admin
(это то, что я хочу). Теперь, добавив это, он прерывает любую дальнейшую маршрутизацию к контроллеру. Поэтому, когда я пытаюсь перейти к контроллеру меню в области администратора, это не удается.
Есть ли правильный способ сделать это?
т. е. мне нужно правильно создать маршрут http://myapplication/Admin/Menu/Create
, но также нужно сохранить контроллер/действие по умолчанию для области.