Итак, если в моих приложениях есть 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 полностью преобразует строку.
Вместо передачи информации в URL вы можете передать ее в качестве параметра get. Как это:
http://u.lasoo.com.au/Offer/?id=*9289--750W-Generic-ATX12V-Power-Supply-%252449dot99/6355
Попробуйте заменить строку, чтобы удалить или заменить символы ":", "%", "*", "/" - любые символы недопустимы в имени папки. Похоже, они все испортили по-королевски и кажутся слабым местом системы маршрутизации URL.
Вы пробовали UrlEncode? MSDN