3

abcd.aspx?ST=f7aABcBdHIm7E8/0SAWKGtz8qKkhwNpJuZ+Jh+Jg+jg=&ET=d0698IjyKXsfkDDAmgy79kOd8+ONzX6IlgSrDME0QHw=

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

Request.QueryString["ST"]

它返回值:

"f7aABcBdHIm7E8/0SAWKGtz8qKkhwNpJuZ Jh Jg jg="

它将 + 号替换为空格字符 (" ")。

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

4

3 回答 3

3

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

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

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

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

于 2013-06-17T08:27:59.067 回答
0

为什么不试试这个

在源链接用户以下行

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

并在目标页面用户下一行

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

这将解决您的问题

于 2013-06-17T08:38:10.027 回答
0

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

string cidEncode = Server.UrlEncode(Request.QueryString["CID"]);
string cid = Regex.Replace(cidEncode, "%3d", "=", RegexOptions.IgnoreCase);
于 2017-06-06T14:42:59.237 回答