Расширить Url Route, чтобы применить Url Encoding для каждого параметра - PullRequest
3 голосов
/ 20 сентября 2010

Я столкнулся с проблемой, что одно из моих полей должно быть отображено в URL-адресе, содержащем специальный символ (/, \,:).

Глупый способ обрабатывать ссылки для создания действий с использованием UrlEncode ().Затем UrlDecode используется перед использованием в контроллере.Но я думаю, что это действительно глупо, потому что слишком много мест нужно адаптировать.

Итак, моя проблема в том, есть ли способ продлить URL-маршрут или просто написать свой собственный, чтобы достичь его?

Спасибо, Майк

1 Ответ

0 голосов
/ 04 мая 2011

Вы можете расширить объект System.Web.Routing.Route, чтобы создать собственный маршрут и переопределить методы GetRouteData и GetVirtualPath.Они вызываются для разрешения значений маршрута и создания URL из заданных значений маршрута, соответственно.Однако я не думаю, что URL-адреса могут содержать значения в кодировке URL для / (% 2f) в части пути URL-адреса, хотя в строке запроса это нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...