

























前两天弄这个字符串在Url中传递的过程,还遇到给个问题,当时忘了写下来,今天提出来大家思考下,希望能够帮我解惑。
我把字符串直接UrlEncode()编码,不替代“+”,传递到另一个页面,我跟踪了下,第二个页面接刚接到时字符串是正确的,但是把它UrlDeconde()后,加号就变成空格去了。如下:
1.页面上都是一致的,第一页面的后台代码:
Code
2.第二页面的后台代码:
Code
结果是:“未解码时:DK51+700中继站”。“解码后:DK51 700中继站”。
这个问题也很让我疑惑,似乎这个是最简单的办法啊,我只要将字符串UrlEncode()后直接传递就行了,不用替代“+”,接收到后直接使用,不要解码,是不是这样也是正确的呢?还是只是一时的正确。UrlEncode()编码和解码的真正原理是什么呢?希望有人能给出解答,我查了msdn,但是没有详细的讲解,希望有大侠给出资料。谢谢。
后注:我查到原因,在Request.QueryString[]中,就内含了UrlDecode()函数,已经解码了。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。