Request.QueryString给我空间而不是+符号

时间:2010-09-24 18:54:38

标签: asp.net

如果我有网址值http://Localhost/default.aspx?ts=/+m2dAZZA3DaavaaupUXkZL83n7TwmCVm

Request.QueryString [ts]给了我

/ m2dAZZA3DaavaaupUXkZL83n7TwmCVm

如何确保从Querystring中获取所有值

有编码还是什么?

4 个答案:

答案 0 :(得分:2)

使用:http://Localhost/default.aspx?ts=/%2Bm2dAZZA3DaavaaupUXkZL83n7TwmCVm代替。

URL中的特殊字符格式为%XX,其中XX是ASCII值的十六进制表示。在这种情况下,+符号为43,因此我们的URL值为%2B。

答案 1 :(得分:1)

尝试使用Server.urlencode和Server.urldecode或使用%2B代替+

Here是用于此类字符的编码列表。

答案 2 :(得分:1)

生成您的URL的任何代码都需要正确地转义它。使用HttpUtility.UrlEncode()服务器端或ecodeURIComponent()客户端

答案 3 :(得分:0)

请勿在参数值中使用+。而是选择另一个URL友好的字符,否则将不会使用。在将值添加到URL之前替换+。然后在检索到值时将其替换为+