我正在开发ASP.NET MVC2项目。问题是,当一个字符串被重写成URL时,会包含一个特殊字符,例如反斜杠或问号,即使我之前编码过,URL也会出错。反URL可以在URL重写中正确编码吗?
例如:
- 我有一个产品ID “P001 \ 2-2”。
- 我编码成 “P001%5C2-2”
- 的URL
http://domain.com/Product/p001%5C2-2
响应HTTP错误400 - 错误的请求。
我该如何弄清楚它的正确性?
我正在开发ASP.NET MVC2项目。问题是,当一个字符串被重写成URL时,会包含一个特殊字符,例如反斜杠或问号,即使我之前编码过,URL也会出错。反URL可以在URL重写中正确编码吗?
例如:
http://domain.com/Product/p001%5C2-2
响应HTTP错误400 - 错误的请求。我该如何弄清楚它的正确性?
尝试使用Html.Encode来解析您的反斜杠。 如果反斜杠是您id中唯一的'特殊'字符,您可以使用Replace(“%5C”,“\”)。
你有没有检查过你的routingMap?必须有像
产品/ {} prodictID路线
我在网址曾与%2F类似的问题。尝试追加nOrmalize标志到你的rewriteRule。
重写规则^(。*)的index.html $〇一二三三六〇〇三六二一四七八九五〇四二三二一〇$ 1 [R = 301,L,ö]
我已删除我的答案:
与归一化的标志 “O” 以粗体实施例现在,所以问题可能会出现在未答复的部分,然后一些asp.net人可以看看。我应该理解url编码的东西,但不是asp.net-mvc特定的。 – YOU 2010-05-20 02:18:48