QueryString不接受& - 需要

stu*_*net 3 .net vb.net asp.net request.querystring

我需要能够在我的.Net代码中处理HTML编码的&符号.

所以网址是

http://myite.com/index.aspx?language=en&Refresh=true
Run Code Online (Sandbox Code Playgroud)

没有办法改变它,因为它是由其他东西生成的,所以这是我无法控制的.

如何读取Refresh参数?

我试过了

HttpUtility.UrlDecode(Request.QueryString("Refresh")) 
Run Code Online (Sandbox Code Playgroud)

但是我的Request.QueryString("Refresh")实际上是空的,所以这是没有意义的,就像Uri.EscapeDataString一样.

这可能不是第一次发生这种情况,但我很难找到解决方案,因为大多数人会说使用UrlEncoding,但正如我所说,Url不受我的控制.

nun*_*cal 6

&在您的查询字符串中应该是%26.

由于您无法更正网址.

您可以将刷新值读取为:

Request.QueryString("amp;Refresh");
Run Code Online (Sandbox Code Playgroud)

请注意,您正在使用的服务的开发人员将来可能会更正此问题.为此已做好准备会很好.

var refresh = Request.QueryString("amp;Refresh");
if(String.IsNullOrEmpty(refresh))
    refresh = Request.QueryString("Refresh");
Run Code Online (Sandbox Code Playgroud)