2011-07-12 87 views
0

我有两个文件htmlpage1.htm和WebForm1.aspx的ASP.NET URL编码/解码

htmlpage1.htm包含HREF = “WebForm1.aspx的?NAME = ABC + XYZ” 的锚标记。

当我尝试访问webform1.aspx的page_load中的查询字符串时,我得到“abc xyz”(abc [space] xyz)。我想在查询字符串 “ABC + XYZ”

注确切值: href的值不能改变

任何帮助将不胜感激

谢谢。

回答

7

你这将Server.UrlDecode:

Request.QueryString["name"] // "abc xyz" 

选项1)您可以重新编码

Server.UrlEncode(Request.QueryString["name"]); // "abc+xyz" 

或获取原始查询数据

Request.Url.Query // "?name=abc+xyz" 

选项2)然后解析数值

Request.Url.Query.Substring(Request.Url.Query.IndexOf("name=") + 5) // "abc+xyz" 
0

尝试webform1.aspx?name=abc%2Bxyz

+0

不能改变href的值.... :( –

+0

@Faizal在这种情况下,如果你不希望在你的'name'查询参数空间,只需更换用+加空格。 –

1

ASP.net将解码您的查询字符串。如果需要,您可以获取原始查询字符串并自行解析。