tôi đã xác định con đường sau:ASP.NET MVC 3 - tuyến đường thân thiện Tuỳ chỉnh SEO
routes.MapRoute(
null,
"foo/{id}/{title}",
new { controller = "Boo", action = "Details" }
);
Khi tôi gọi phương pháp này:
Url.Action("Details", "Boo", new { id = article.Id, title = article.Title })
tôi nhận được URL sau:
http://localhost:57553/foo/1/Some%20text%20Š
Tôi muốn tạo một tuyến đường mới sẽ viết thường tất cả các ký tự và thay thế một số ký tự.
ví dụ:
http://localhost:57553/foo/1/some-text-s
Rules:
Uppercase -> lowercase
' ' -> '-'
'Š' -> 's'
etc.
Bất kỳ trợ giúp sẽ được đánh giá cao!
Tuyệt vời! +1. Điều gì về tuyến đường tùy chỉnh so với người trợ giúp URL? Tôi tìm thấy giải pháp tương tự trên SO một vài năm trước đây (nhưng không thể tìm thấy nó bây giờ) và bây giờ tất cả mọi người đang gợi ý trợ giúp URL trên router tùy chỉnh? –
@ šljaker, tôi không hiểu bạn đang hỏi gì khi bạn nói 'tuyến đường tùy chỉnh so với người trợ giúp URL'. Bạn có yêu cầu đó là tốt hơn: sử dụng một tuyến đường tùy chỉnh sẽ thực hiện điều này hoặc viết trợ giúp tùy chỉnh như Html.ActionLink, Url.Action, ...? Nếu đây là trường hợp sau đó một tuyến đường tùy chỉnh là tốt hơn nhiều khi bạn tập trung toàn bộ logic định tuyến của bạn và cách url của bạn trông giống như trong các tuyến đường mà là nơi này nên được thực hiện thay vì phân tán logic như vậy xung quanh codease của bạn. Việc sửa đổi nó dễ dàng hơn nhiều ở một vị trí duy nhất và tất cả người trợ giúp HTML chuẩn sẽ tự động sử dụng nó trên toàn bộ ứng dụng. –
vâng, đó là điều tôi muốn biết! Cảm ơn! –