在我的网络应用程序中,我想通过页面之间的URL传输一些值。因为我有一些特殊字符,所以我决定对我的值进行编码,以免破坏我的网址。在IE和Opera中,当我在浏览器中加载我的网址时,它们会保持编码状态,但在Safari和Firefox中,网址会自动解码并且我的代码会中断。
在IE8& Opera的编码值类似于url Default.aspx?sid = %c5%a1D%19%5c%c2%a5),并且不会自动解码。
在Firefox& Safari的值会自动解码并显示为“清除”,如Default.aspx?sid = šD\¥)
问题是,当我在我的代码中调用HttpUtility.UrlDecode(Request.QueryString [“sid”])并在Firefox或Safari中打开网页时,我的代码中断了......任何想法如何停止自动编码?< / p>
答案 0 :(得分:1)
您不应该致电HttpUtility.UrlDecode(Request.QueryString["sid"])
。直接使用Request.QueryString["sid"]
并在必要时让ASP.NET处理解码。