ASP MVC ActionLink вызывает неверный URL - PullRequest
3 голосов
/ 12 ноября 2010

Используя стандартный шаблон маршрута

{controller}/{action}/{code}

и затем стандартную ссылку ActionLink на мой взгляд

<%: ActionLink("Details", "Details", new { code = item.Code }) %>

Когда пользователь ввел "N / A" в качестве своего кода, я вижуследующий URL

http://localhost/AbsenceCode/Details/N/A

Когда я ожидаю увидеть это

http://locahost/AbsenceCode/Details/N%2FA

Кроме того, если пользователь имеет «A: B» в качестве кода, я вижу правильный URL-адрес (двоеточие - это url escape) но я получаю «400 неверных запросов» с сервера.

У кого-нибудь есть решения этих проблем?Я не могу заставить клиента использовать только безопасные символы URL.

Ответы [ 2 ]

0 голосов
/ 20 ноября 2010

Я пришел к решению, исходный код доступен здесь: https://mrpmorris.blogspot.com/2012/08/asp-mvc-encoding-route-values.html

0 голосов
/ 12 ноября 2010

Попробуйте

<%: Html.ActionLink("Details", "Details", new { code = Url.Encode(item.Code) }) &>
...