因此,如果我的应用MVC网址中存在网址编码段,则IIS会抛出一个不良请求400。
e.g。 http://u.lasoo.com.au/Offer/ * 9289--750W - 通用-ATX12V-电源供应─%252449dot99 / 6355
< ---'''和'%'导致此错误。
请注意,http://u.lasoo.com.au/Offer/The-Giant-Good-As-Gone-7-Day-Sale/6354工作正常。
将任意字符串转换为可接受的MVC URL段的正确方法是什么?
更新:URl段应该类似于原始字符串。 Base64编码完全转换了字符串。
答案 0 :(得分:1)
您可以将其作为get参数传递,而不是在url中传递信息。像这样:
http://u.lasoo.com.au/Offer/?id=*9289--750W-Generic-ATX12V-Power-Supply-%252449dot99/6355
答案 1 :(得分:0)
你试过UrlEncode吗? MSDN
答案 2 :(得分:-2)
尝试使用字符串替换来删除或替换符号“:”,“%”,“*”,“/” - 文件夹名称中的任何非法符号。他们似乎把所有东西搞砸了,似乎是URL路由系统的设计弱点。