Я хотел бы разработать URL, которые выглядят следующим образом:
http://mysite.com/products/1/best-product-in-the-world
Где все, что мне нужно, чтобы добраться до нужной записи, это следующий маршрут:
http://mysite.com/products/1
Когда я добавляю описание продукта в URL («лучший продукт в мире»), у меня возникают проблемы с кодировкой URL. Я пытался использовать Server.UrlEncode при создании этой части моего URL в ActionLink (...):
<%= Html.ActionLink(item.Subject, "../Post/Detail",
new { id = item.ID,
descriptiveUrl = Server.UrlEncode(Product.ShortDescription) },
new { rel = "canonical",
title = Product.ShortDescription,
@class = "product-hyperlink" })%>
Но это отрисовывает регулярно закодированные элементы для специальных символов и пробелов, подобно следующему:
http://localhost:2392/Products/Detail/1/best+product+in+the+world253f
..., который создает исключение 400 неправильных запросов. Не уверен, что я правильно понял вопрос, но могу дать дополнительные разъяснения, если это будет необходимо.
Обновление : URL этого поста следующий, и я пытаюсь сделать что-то очень похожее!
http://stackoverflow.com/questions/1148955/creating-search-engine-friendly-urls-in-asp-net-mvc