当我写响应与 '+' 重定向
Response.Redirect("Default2.aspx?Name=" + TextBox1.Text);
然后
string input = Request.QueryString["Name"];
如果我写雅虎+音乐文本
的投入将是雅虎的音乐,为什么?我该如何保持'+'?
当我写响应与 '+' 重定向
Response.Redirect("Default2.aspx?Name=" + TextBox1.Text);
然后
string input = Request.QueryString["Name"];
如果我写雅虎+音乐文本
的投入将是雅虎的音乐,为什么?我该如何保持'+'?
URL中的加号表示空格。你应该URL编码,你把网址中的值:
Response.Redirect("Default2.aspx?Name=" + Server.UrlEncode(TextBox1.Text));
+
是查询字符串中的空间编码。要编码+
,您需要使用%2b
。
尝试UrlEncode
这应该为您处理。
我有另一种方式 - 虽然有点“棘手” - 通过传递来达到自己的目标“+”(或任何其他特殊字符)在查询字符串
当你通过查询字符串,你这样写:
的Response.Redirect( “?Default.aspx的名称=” + TextBox1.Text.Replace( “+”, “_”)) ;
那么它会通过的Default.aspx?名称= Yahoo_Music
,并要求它,只是再次更换
字符串输入=的Request.QueryString [ “名称”]。替换( “_”,” +“);
输入将为:Yahoo + Music。
虽然这种方式有点棘手,但有时这种方式非常有助于在查询字符串中传递特殊字符。
谢谢