URL的传递字符串问题小研究(续)

      前两天弄这个字符串在Url中传递的过程,还遇到给个问题,当时忘了写下来,今天提出来大家思考下,希望能够帮我解惑。

     我把字符串直接UrlEncode()编码,不替代“+”,传递到另一个页面,我跟踪了下,第二个页面接刚接到时字符串是正确的,但是把它UrlDeconde()后,加号就变成空格去了。如下:

1.页面上都是一致的,第一页面的后台代码:

Code

     2.第二页面的后台代码:

Code

     结果是:“未解码时:DK51+700中继站”。“解码后:DK51 700中继站”。

这个问题也很让我疑惑,似乎这个是最简单的办法啊,我只要将字符串UrlEncode()后直接传递就行了,不用替代“+”,接收到后直接使用,不要解码,是不是这样也是正确的呢?还是只是一时的正确。UrlEncode()编码和解码的真正原理是什么呢?希望有人能给出解答,我查了msdn,但是没有详细的讲解,希望有大侠给出资料。谢谢。

 后注:我查到原因,在Request.QueryString[]中,就内含了UrlDecode()函数,已经解码了。

posted on 2008-11-20 21:21  哪热  阅读(1549)  评论(12编辑  收藏  举报

导航