У меня есть одна область Area1
с контроллером Home
, и это Index
метод.
Я также создал еще одну область Area2
с контроллером Home
и это метод Index
.
В Area1
у меня есть ссылка действия, которая должна открыть страницу Index
в Area2
.
@Html.ActionLink("Link to another area index", "Index", "Home", new { area = "Area2" }, null)
Но когда я нажимаю на эту ссылку, она сначала переходит на Area1/Home/Index
!
Почему это происходит. Это должно быть так или оно может перейти прямо к Area2/Home/Index
?
Это делает меня проблемой, потому что в Area1 / Home / Index мне нужны некоторые параметры, и когда это происходит, этот оценщик нулевой или неправильный и создает мне проблему Я должен сделать что-то не так.
Обновить
Area1 маршрутизация
public override void RegisterArea(AreaRegistrationContext context)
{
context.Routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });
context.MapRoute(
"Area1_home",
"{country}/{city}",
new { controller = "Home", action = "Index", country = UrlParameter.Optional, city = UrlParameter.Optional }
);
context.MapRoute(
"Area1_default",
"Area1/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
Маршрутизация Area2:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Area2_default",
"Area2/{controller}/{action}/{id}",
new { controller="Home", action = "Index", id = UrlParameter.Optional }
);
}