我有一个查询字符串,例如
www.google.com?Department=Education & Finance&Department=Health
我有这些作为li
标签,他们的查询字符串是这样的:
- 教育与金融
- 健康
现在的问题是当我在做 NamevalueCollection 并获得所有键值时:它给我的只是教育,而不是财务.....
知道如何解决这个问题吗?
您需要在将值Server.UrlEncode
放入 URL 之前通过调用对它们进行编码。
如果您的值在数组中,则需要使用循环。如果您需要准确的说明,您需要向我们展示您当前的代码。
与号 (&) 是 url 中的特殊字符。因此,上面的 URL 被解释为 www.google.com 并带有三个参数:2 个部门和一个财务。
尝试使用:
System.Web.HttpUtility.UrlEncode(string url)
对 URL 进行编码。
查询字符串中的值应该是 url 编码的。现在无法确定&
分隔值对的&
字符与其中一个值中的字符之间的差异。此外,尽管大多数浏览器会接受 URL 中的空格,但根据标准这是无效的。
在值中Education & Finance
,您必须将空格编码为+
or %20
,并将&
字符编码为.%26
Education%20%26%20Finance
所以正确的网址应该是:
www.google.com?Department=Education%20%26%20Finance&Department=Health