ОБНОВЛЕНИЕ 2
Хорошо - похоже, мой вопрос снова немного меняется: -)
Теперь я понял, что UrlHelper.Action некажется, правильно разрешить URL в любой области, если имя области явно не указано.Если он не указан, он, похоже, возвращает то имя области, в которой мы находимся в данный момент, что создает впечатление, что оно работает с одной части сайта, но тогда эта же ссылка в другой области преобразуется в неправильное имя области.
Либо я сделал что-то интересное, чтобы заставить это сделать это, либо я не совсем понимаю, как этот метод действия предназначен для работы.
ОБНОВЛЕНИЕ 1
Я могусделайте эту работу, выполнив следующие действия:
return helper.Action("add", "product",new {area = "storemanagement"});
, что немного меняет мой вопрос.
Почему маршрутизация MVC не устраняет неоднозначность с одинаковыми именами контроллеров и разрешает их суказанный метод действия?
Origional post
Всем привет,
Я создал вспомогательный метод для класса UrlHelper и у меня небольшойпроблема с одним из маршрутов.
Вот код для рассматриваемого вспомогательного метода:
public static string AddProduct(this UrlHelper helper)
{
return helper.Action("add", "product");
}
В основном у меня есть два контроллера с именем "product", которые находятся в разных областях сайта.,Один из них используется для просмотра продуктов, а другой - для управления продуктами.Только один из контроллеров продукта содержит метод действия «Добавить».
При выводе значения AddProduct
<%: Url.AddProduct() %>
Имя области разрешается в текущей области, которую я просматриваю ине правильная область для контроллера продукта, содержащего метод действия Add.
Что-то мне нужно настроить в маршрутах?Я не совсем уверен, как работает маршрутизация с UrlHelper.Action, поэтому я не знаю, возможно ли сделать то, что я пытаюсь.
Приветствует любую помощь.