我有一个像
这样的查询字符串www.google.com?Department=Education & Finance&Department=Health
我将这些标记为li
标记,其查询字符串如下:
现在的问题是,当我正在进行NamevalueCollection并获得所有键值时:它只给我教育,而不是财务......
知道如何解决这个问题吗?
答案 0 :(得分:8)
您需要先调用Server.UrlEncode
对值进行编码,然后再将其放入网址。
如果您的值在数组中,则需要使用循环。如果您需要精确的说明,则需要向我们展示您当前的代码。
答案 1 :(得分:6)
&符号(&)是网址中的特殊字符。因此,上述网址被视为www.google.com的三个参数:2个部门和财务部门。
尝试使用:
System.Web.HttpUtility.UrlEncode(string url)
对网址进行编码。
答案 2 :(得分:3)
查询字符串中的值应该是url编码的。现在无法确定将值对与{1}}字符分开的&
字符之间的差异。此外,尽管大多数浏览器都会接受URL中的空格,但根据标准无效。
在值&
中,您必须将空格编码为Education & Finance
或+
,将%20
字符编码为&
,使其变为{{ 1}}。
所以正确的URL应该是:
%26