Прежде всего, мне нужно сказать, что я использую T4MVC в своем проекте. У меня есть один метод для двух маршрутов:Выбрать маршрут зависит от параметра URL. Ограничения
public virtual ActionResult List(string slug, string category, String selectedFilters)
Маршруты:
routes.MapRoute("ProductOnSale", "products/{slug}/{category}/onsale", MVC.Product.List());
routes.MapRoute("ProudctsList", "products/{slug}/{category}/{selectedFilters}", MVC.Product.List()
.AddRouteValue("selectedFilters", ""));
Как вы можете видеть, что это только один ActionResult
для двух маршрутов. У них другой URL. Пример первого маршрута:
products/living-room-furniture/sofas/sectional-sofa
Пример второго маршрута:
products/living-room-furniture/living-room-tables/onsale
Этот кусок должен сказать, что я пришел из другой страницы. Мне нужно добавить параметр Boolean к моему методу List(string slug, string category, String selectedFilters, bool onsale)
и, в зависимости от этого, выберите маршрут. Можно ли использовать ограничения? Может ли кто-нибудь представить пример, как это сделать в этом случае?
Как создать 2 действия с параметрами для двух ситуаций и внутри этих действий вызвать функцию (с 4 параметрами), которые возвращают список продуктов? – adricadar
Возможно, этот вариант возможен. Но это хорошее решение в целом? –
Пока вы не пишете * дублирующий * код, по моему мнению, это ** простое ** приемлемое решение. – adricadar