如果你对 kwB%2bAJoLE1o= 和 kwB%2bAJoLE1o%3d 分别执行 UrlDecode 计算,结果是一样的,都是 kwB+AJoLE1o=。 其实凡是刻意进行 UrlEnocde 的url参数,在接收端都需要刻意进行 UrlDecode 计算。而没有进行 UrlEncode 计算的 url参数,假设在多年以前的ie低版本浏览器上则是不需要在接收端不需要进行UrlDecode计算的,而在ie高版本则需要,并且其它浏览器始终都需要(可见,支持程度发生逆转的就是ie浏览器自己了,其它的浏览器本来就一直就不支持不成对写UrlEncode/UrlDecode的形式)。 因此,如果是4、5年前出现的asp.net的入门书上的写法可能就不对了。现在需要刻意成对地执行 UrlEncode/UrlDecode计算。而一些使用者老的ie7、8之类的asp.net程序员则不是忘记UrlEncode,就是忘记了UrlDecode,因为他们测试范围太窄了。
<asp:HyperLink runat="server" ID="link1" Text="TestUrlEncode" Target="_blank"></asp:HyperLink>
this.link1.NavigateUrl = "http://www.baidu.com?tk=" + HttpUtility.UrlEncode("kwB+AJoLE1o=");
System.Web.HttpUtility.UrlEncode
62,266
社区成员
668,981
社区内容
加载中
.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。
希望和大家一起共同营造一个活跃、友好的社区氛围。
试试用AI创作助手写篇文章吧