在不添加逻辑的情况下读取URL中的“ +”字符? Server.UrlEncode返回太多

时间:2018-09-05 21:00:26

标签: c# asp.net visual-studio-2013 .net-4.0

这是我的网址的样子:

http://Server/Sales.aspx?Parm1=XZ AB+C (DE FH) IJ-KM NP

这是我的网址中参数Parm1的值:

Request.QueryString["Parm1"]
"XZ AB C (DE FH) IJ-KM NP"

使用Server.UrlEncode

Server.UrlEncode(Request.QueryString["Parm1"])
= "XZ+AB+C+(DE+FH)+IJ-KM+NP"

这就是值:

"XZ AB+C (DE FH) IJ-KM NP"

由于参数可以与+进行多种组合,因此有什么方法可以读取此参数值而无需添加逻辑来解析带有加号的任何内容?

1 个答案:

答案 0 :(得分:0)

如果您查看W3Schools,您会看到一个字符列表以及“已编码的等效字符”。至于您的问题,“ +”是%2B。因此,无论您的网址中有+,都应将其替换为%2B。如果您希望字符串像您所说的那样显示出来,则只需在需要显示%2B的地方使用+,否则就可以留空格。