ASP.NET URL编码/解码

时间:2011-07-12 19:33:20

标签: asp.net url encoding decoding

我有两个文件htmlpage1.htm和webform1.aspx

htmlpage1.htm包含一个锚点标记,其中href =“webform1.aspx?name = abc + xyz”。

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

中的确切值

注意: href值无法更改

任何帮助将不胜感激

谢谢。

4 个答案:

答案 0 :(得分: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"

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

使用此:
Request.QueryString [“name”]。替换(“”,“+”);
//有关详细信息,请参阅以下链接 http://runtingsproper.blogspot.in/2009/10/why-aspnet-accidentally-corrupts-your.html