8

在较旧的 MVC 版本中,使用 AttributeRouting 库,我可以有多个路由并指定优先级,因此在生成 URL 时选择最合适的路由:

[Route("", ActionPrecedence = 1)]
[Route("city/{citySlug}", ActionPrecedence = 2)]

在 MVC 5 中,ActionPrecedence属性上没有属性。在这种情况下如何指定路由优先级?

4

1 回答 1

6

您使用的是发行版吗?

在发布版 MVC 5.0 中,您可以NameOrder每个Route. 这Order有助于 URL 生成。

Route(template, NamedParams:[Name,Order])

[Route("city/{id}",Name="CityFirst", Order=1)]
[Route("mycity/{id}", Name = "MyCityFirst", Order = 2)]

参考:ASP.NET MVC 5 中的属性路由


更新:我的错!以上答案基于假定为已发布版本的 RC1。

在发布版本中,没有命名属性“Order”。

属性的顺序是根据路由模板匹配的优先级计算的。

于 2013-10-24T07:30:18.503 回答