У меня есть страница, где пользователь может «Задать вопрос» на товар.
Маршрут:
context.MapRoute(
"Q&A - Ask - by Product",
"{someProductUri}/questions/ask",
new { controller = "Questions", action = "Ask" }
);
Что соответствует:
/ автомобиль / вопросы / предложения
/ телефон / вопросы / предложения
Вот действие:
public class QuestionsController : Controller
{
public ViewResult Ask(string someProductUri)
{
// ...
}
}
Теперь проблема в том, что мне также нужно разрешить пользователю выбирать продукт на самой странице, например, без предварительного выбора продукта в URI.
Поскольку этот контроллер находится в области , этот «URL по умолчанию» будет выглядеть следующим образом:
/ myarea / вопросы / предложения
Итак, что происходит, когда я приступаю к действию, «someProductUri» устанавливается в «myarea», вызывая всевозможные страдания.
Я хочу повторно использовать одно и то же действие / представление для обоих наборов URL-адресов, но не хочу, чтобы значение маршрута было установлено в «myarea», когда это URL-адрес по умолчанию.
Надеюсь, что имеет смысл - есть идеи?
Мне нужен отдельный маршрут? Могу ли я добавить ограничение маршрута, чтобы «someProductUri» не могло быть «myarea», чтобы оно не совпадало с маршрутом и возвращалось к значению по умолчанию?