在较旧的 MVC 版本中,使用 AttributeRouting 库,我可以有多个路由并指定优先级,因此在生成 URL 时选择最合适的路由:
[Route("", ActionPrecedence = 1)]
[Route("city/{citySlug}", ActionPrecedence = 2)]
在 MVC 5 中,ActionPrecedence
属性上没有属性。在这种情况下如何指定路由优先级?
在较旧的 MVC 版本中,使用 AttributeRouting 库,我可以有多个路由并指定优先级,因此在生成 URL 时选择最合适的路由:
[Route("", ActionPrecedence = 1)]
[Route("city/{citySlug}", ActionPrecedence = 2)]
在 MVC 5 中,ActionPrecedence
属性上没有属性。在这种情况下如何指定路由优先级?
您使用的是发行版吗?
在发布版 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)]
更新:我的错!以上答案基于假定为已发布版本的 RC1。
在发布版本中,没有命名属性“Order”。
属性的顺序是根据路由模板匹配的优先级计算的。