2013-10-23 20 views
8

をルーティング属性を持つ優先、AttributeRoutingライブラリで、私は複数のルートを持っていると優先順位を指定することができるので、最も適切なURLを生成するときに選択されます:ルート古いMVCのバージョンでは

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

MVC 5でありいいえActionPrecedence属性のプロパティ。その場合のルートの優先順位はどのように指定しますか?

答えて

6

あなたはリリースバージョンを使用していますか?

リリース版MVC 5.0では、RouteごとにNameOrderを指定できます。 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


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 –

関連する問題