2013-10-23 134 views
8

在旧MVC版本,与AttributeRouting库,我可以有多种路线和指定优先级,所以最合适的采摘生成URL时:路由优先级与属性路由

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

在MVC 5有没有ActionPrecedence属性的属性。在这种情况下如何指定路由优先权?

回答

6

您使用的是发行版吗?

在发布的版本MVC 5.0中,您可以为每个Route指定NameOrderOrder对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


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

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

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

+1

RouteAttribute没有'Order'属性,只有Name。 – CMircea

+4

同时有一个(选中mvc 5.2.2) - > http://msdn.microsoft.com/en-us/library/system.web.mvc.routeattribute.order(v=vs.118)。 ASPX –