如何在 Firefox 和 Firefox 中停止自动 url 解码野生动物园?
在我的网络应用程序中,我想通过页面之间的 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 中打开网页,我的代码中断了...知道如何停止自动解码吗?
in my web application i want to transmit some values through the url between pages. Because i have some special characters i decided to encode my values in order not to break my urls. in IE and Opera when i load my urls in a browser they stay encoded but in Safari and Firefox the urls are automatically decoded and my code breaks.
in IE8 & Opera an encoded value looks like in the url Default.aspx?sid=%c5%a1D%19%5c%c2%a5) and is not automatically decoded.
in Firefox & Safari the value is automatically decoded and appears "in clear" like this Default.aspx?sid=šD\¥)
the problem is that when i call HttpUtility.UrlDecode(Request.QueryString["sid"]) in my code and the webpage is opened in Firefox or Safari my code breaks...any idea how to stop the autodecoding?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您不应该调用
HttpUtility.UrlDecode(Request.QueryString["sid"])
。直接使用Request.QueryString["sid"]
并在必要时让 ASP.NET 处理解码。You shouldn't be calling
HttpUtility.UrlDecode(Request.QueryString["sid"])
. Use directlyRequest.QueryString["sid"]
and leave ASP.NET handle the decoding if necessary.