【发布时间】:2015-12-15 09:37:04
【问题描述】:
首先,我需要说我在我的项目中使用了 T4MVC。我有两条路线的一种方法:
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。他们有不同的网址。第一条路线示例:
products/living-room-furniture/sofas/sectional-sofa
第二条路线示例:
products/living-room-furniture/living-room-tables/onsale
这篇文章应该说我来自另一个页面。我需要在我的方法List(string slug, string category, String selectedFilters, bool onsale) 中添加布尔参数,并根据此选择路由。是否可以使用约束?谁能提供一个例子,在这种情况下如何做到这一点?
【问题讨论】:
-
如何为您的 2 种情况创建 2 个带有参数的操作,并在该操作中调用返回产品列表的函数(带有 4 个参数)?
-
当然,这种变体是可能的。但总的来说,这是一个好的解决方案吗?
-
只要你不写重复代码,在我看来这是一个简单可以接受的解决方案。
标签: c# asp.net-mvc routes