Request.QueryString - 用空格替换+(加号)符号

时间:2013-06-17 08:22:16

标签: asp.net query-string

  

abcd.aspx ST = f7aABcBdHIm7E8 / 0SAWKGtz8qKkhwNpJuZ +是Jh + JG + JG =安培; ET = d0698IjyKXsfkDDAmgy79kOd8 + ONzX6IlgSrDME0QHw =

当我在.cs页面中使用以下代码时:

Request.QueryString["ST"]

返回值:

"f7aABcBdHIm7E8/0SAWKGtz8qKkhwNpJuZ Jh Jg jg="

它用空格字符(“”)替换了+号。

知道如何解决这个问题吗?

3 个答案:

答案 0 :(得分:3)

+符号在查询字符串中具有语义含义。它用于表示空间。

Server.UrlEncode(Request.QueryString["ST"])

您可以使用Server.UrlEncode。 Spaces()被转换为加号(+)。

参考:http://msdn.microsoft.com/en-us/library/ms525738%28v=vs.90%29.aspx

答案 1 :(得分:0)

为什么不试试这个

中的源链接用户

 Response.Redirect("Default2.aspx?ST="+ Server.UrlEncode(Server.HtmlEncode( "abc+xyz+lmn")));

并在目标网页用户关注行

Server.HtmlDecode( Request.QueryString["ST"]);

这将解决您的问题

答案 2 :(得分:0)

我测试了它。它给出了正确的结果

string cidEncode = Server.UrlEncode(Request.QueryString["CID"]);
string cid = Regex.Replace(cidEncode, "%3d", "=", RegexOptions.IgnoreCase);