我有两个文件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的值不能改变
任何帮助将不胜感激
谢谢。
我有两个文件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的值不能改变
任何帮助将不胜感激
谢谢。
你这将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"
尝试webform1.aspx?name=abc%2Bxyz
ASP.net将解码您的查询字符串。如果需要,您可以获取原始查询字符串并自行解析。
使用此项:
Request.QueryString [“name”]。Replace(“”,“+”);
//请参阅以下链接获取更多信息
http://runtingsproper.blogspot.in/2009/10/why-aspnet-accidentally-corrupts-your.html
不能改变href的值.... :( –
@Faizal在这种情况下,如果你不希望在你的'name'查询参数空间,只需更换用+加空格。 –