Request.QueryString已经自动UrlDecode,无需重复。
但值得注意的是,UrlEncode和UrlDecode都与字符编码(Encoding)有关,只有相同的Encoding才能得到相同的结果。
用这个看看,制定下编码的类别
HttpUtility.UrlDecode("+++%@#@#", System.Text.Encoding.UTF8);
楼上说了一种,不过这个类型一般是默认的,所以觉得问题应该不会太多的出现在这里,到是觉得你确认下你加密的东西,加密后线保证解密的数据是正确的,然后在测试下。最可能的问题个人觉得应该是加密后是否还存在特殊字符等。
其实了个人一点建议,如果你加密后的字符串如果是在大小写字母和数字的范畴,哪么这个串你是不用再进行urlEncode的。也就是一般使用UrlEncode是为了对某一部分特殊数据做Url编码的。
检查一下你加密后是否存在特殊字符
呵呵!很同意楼上的说法!Request.QueryString已经自动UrlDecode,无需重复!!
HttpUtility.UrlEnecode("")与 HttpUtility.UrlDecode("")不设置Encoding,是会容易出现编码后解码还是乱码的情况。
还有Server.UrlEncode("")与Server.UrlDecode("")也是可以使用的。
Request.QueryString已经自动UrlDecode,无需重复