在旧的MVC版本中,使用AttributeRouting库,我可以有多条路由并指定优先级,因此在生成URL时选择最合适的路径:
[Route("", ActionPrecedence = 1)]
[Route("city/{citySlug}", ActionPrecedence = 2)]
在MVC 5中,属性上没有ActionPrecedence
属性。在这种情况下如何指定路由优先级?
答案 0 :(得分:6)
您使用的是发布版本吗?
在已发布的MVC 5.0版本中,您可以为每个Name
指定Order
和Route
。 Order
在生成Url时很有用。
Route(template, NamedParams:[Name,Order])
[Route("city/{id}",Name="CityFirst", Order=1)]
[Route("mycity/{id}", Name = "MyCityFirst", Order = 2)]
参考:Attribute Routing in ASP.NET MVC 5
更新:我的错!以上答案是基于RC1假定为已发布版本。
在已发布的版本中,没有命名属性“Order”。
属性顺序是根据路线模板匹配的优先顺序计算的。