Неверный запрос 400 для сегментов HttpUtility.UrlEncoded URL - PullRequest
2 голосов
/ 25 мая 2009

Итак, если в моих приложениях есть MVC-сегменты, закодированные в URL, IIS выдает BAD REQUEST 400.

например. http://u.lasoo.com.au/Offer/*9289--750W-Generic-ATX12V-Power-Supply-%252449dot99/6355

<--- '*' и '%' вызывают эту ошибку. </p>

Обратите внимание, что http://u.lasoo.com.au/Offer/The-Giant-Good-As-Gone-7-Day-Sale/6354 работает нормально.

Как правильно преобразовать произвольную строку в принятый сегмент URL-адреса MVC?

ОБНОВЛЕНИЕ: сегмент URl должен напоминать исходную строку. Кодировка Base64 полностью преобразует строку.

Ответы [ 3 ]

1 голос
/ 16 июля 2009

Вместо передачи информации в URL вы можете передать ее в качестве параметра get. Как это:

http://u.lasoo.com.au/Offer/?id=*9289--750W-Generic-ATX12V-Power-Supply-%252449dot99/6355
0 голосов
/ 06 сентября 2010

Попробуйте заменить строку, чтобы удалить или заменить символы ":", "%", "*", "/" - любые символы недопустимы в имени папки. Похоже, они все испортили по-королевски и кажутся слабым местом системы маршрутизации URL.

0 голосов
/ 25 мая 2009

Вы пробовали UrlEncode? MSDN

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