“&安培;”在QueryString值内

时间:2013-04-23 09:28:33

标签: asp.net request.querystring

我正在使用QueryStrings让用户从下拉列表中自动选择值。此下拉列表中的某些值包含“&”在他们中。

E.g。 “收购与发展”

当用户使用带有“&”的值时,字符串值会在下半场之前被切断。

string functionalDepartment = Request.QueryString["FunctionalDepartment"];
//returns "Acquisitions "

从QueryString获取值时,有没有办法可以包含值的后半部分?

5 个答案:

答案 0 :(得分:2)

在将其传递给查询字符串之前,只需替换:

.Replace("&","%26");

或使用Server.URLEncode()

答案 1 :(得分:2)

&字符需要进行URL编码,因为&用于将查询字符串划分为名称=值对。当创建 URL时,请使用:

HttpUtility.UrlEncode(url);

答案 2 :(得分:1)

您可以在设置下拉列表的值时使用System.Web.HttpUtility.UrlEncode

这将确保&不会破坏值。

答案 3 :(得分:0)

使用HttpServerUtility.UrlEncode:

URL编码可确保所有浏览器都能正确传输URL字符串中的文本。诸如&符号之类的字符可能会被某些浏览器截断或损坏。

更多细节请参阅此Query strings with special characters

我也提到了

答案 4 :(得分:0)

Server.UrlEncode("url")将解决您的问题。

示例:

 MyURL = "http://www.ursite.com/urpage.aspx?ReqStr=" + Server.UrlEncode("ASP.NET Examples");