2013-10-23 12 views
8

Nelle versioni più vecchie MVC, con la libreria AttributeRouting, posso avere più percorsi e specificare una precedenza, in modo che il più appropriato viene scelto quando si generano URL:precedenza percorso con l'attributo di routing

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

In MVC 5 c'è no ActionPrecedence proprietà sull'attributo. Come posso specificare la precedenza del percorso in questo caso?

risposta

6

Si sta utilizzando la versione di rilascio?

Nella versione Rilasciata MVC 5.0, è possibile specificare Name e Order per ogni Route. Order è utile nella generazione di URL.

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

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

consultare: Attribute Routing in ASP.NET MVC 5


UPDATE: Il mio errore! la risposta sopra era basata sul RC1 che si presume essere la versione rilasciata.

Nella versione rilasciata, non esiste un attributo denominato "Ordine".

L'ordine di attributo è calcolato in base alla precedenza della corrispondenza del modello di percorso.

+1

Non esiste la proprietà 'Ordine' su' RouteAttribute', solo Nome. – CMircea

+4

nel frattempo ce n'è uno (Controllato con mvc 5.2.2) -> http://msdn.microsoft.com/en-us/library/system.web.mvc.routeattribute.order(v=vs.118). aspx –