У меня есть приложение, в котором нет областей.Тем не менее, я добавляю совершенно новый раздел, поэтому у меня есть созданная область.Таким образом, у меня есть одна область и область по умолчанию.
Так, например:
Маршрут по умолчанию = / Счет / Создать
Маршрут области = / TAE / Порт / Создать
Обе эти ссылки работают.Однако, когда я перехожу к разделу области TAE, все ссылки изменяются, чтобы быть в пределах этой области TAE.например / TAE / Invoice / Create
Я могу заставить их не иметь области, добавляя новый {area = ""} к ссылке действия, но это включает в себя изменение каждой ссылки в приложении.
Возможно ли, чтобы actionlink без указанной области всегда переходил в область по умолчанию, независимо от того, в какой области находится текущая страница?
global.asax.cs
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { area="", controller = "Home", action = "Index", id = "" }, // Parameter defaults
new string[] { "BankingDB.Controllers" } //namespaces
);
}
TAEAreaRegistration.cs
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"TAE_default",
"TAE/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
Ссылка на область TAE:
<%= Html.ActionLink("Create", "Create", "Port" , new { area = "TAE"}, new {}) %>
Ссылка на нормальную область:
<%= Html.ActionLink("Create", "Create", "Invoice") %>