在较旧的MVC版本中,使用AttributeRouting库,我可以有多个路由并指定优先级,因此在生成URL时选择最合适的路径:
[Route("",ActionPrecedence = 1)] [Route("city/{citySlug}",ActionPrecedence = 2)]
解决方法
你使用的是发行版吗?
在已发布的MVC 5.0版本中,您可以为每个Route指定Name和Order.订单有助于Url生成.
路线(模板,NamedParams:[名称,订单])
[Route("city/{id}",Name="CityFirst",Order=1)] [Route("mycity/{id}",Name = "MyCityFirst",Order = 2)]
参见:Attribute Routing in ASP.NET MVC 5
更新:我的错!以上答案是基于RC1假定为发布版本.
在已发布的版本中,没有命名属性“Order”.
属性顺序是根据路径模板匹配的优先级计算的.