2013-10-23 18 views
8

Trong các phiên bản MVC cũ, với thư viện AttributeRouting, tôi có thể có nhiều tuyến đường và chỉ định một ưu tiên, do đó phù hợp nhất được chọn khi tạo URL:Route ưu tiên với thuộc tính định tuyến

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

Trong MVC 5 có no ActionPrecedence thuộc tính trên thuộc tính. Làm thế nào để tôi xác định ưu tiên tuyến đường trong trường hợp đó?

Trả lời

6

Bạn đang sử dụng phiên bản phát hành?

Trong phiên bản đã phát hành MVC 5.0, bạn có thể chỉ định NameOrder cho mọi Route. Các Order là hữu ích trong thế hệ Url.

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

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

Tham khảo: Attribute Routing in ASP.NET MVC 5


UPDATE: Sai lầm của tôi! câu trả lời trên được dựa trên RC1 được giả định là Phiên bản được phát hành.

Trong phiên bản đã phát hành, không có thuộc tính có tên "Đơn đặt hàng".

Thứ tự của thuộc tính được tính dựa trên mức độ ưu tiên của so khớp Mẫu tuyến đường.

+1

Không có thuộc tính 'Đơn đặt hàng' trên' RouteAttribute', chỉ Tên. – CMircea

+4

trong khi đó có một (Đã kiểm tra với mvc 5.2.2) -> http://msdn.microsoft.com/en-us/library/system.web.mvc.routeattribute.order(v=vs.118). aspx –

Các vấn đề liên quan