今天看到了一个面试题,如下
例1。<a href="default.aspx?id=123&name=abc#def&id=123#456#789&name=ghi">xxx</a>
查询字符串得到的name和id是什么?
结果: id=123 name=abc。
例2。<a href="Default4.aspx?id=123&name=abc&id=789#def&id=123#456#789&name=ghi">xxx</a>
结果: id=123,789 name=abc
分析如下:
1。Request.QueryString 获取的对象为 System.Collections.Specialized.NameValueCollection,
对于URL中的#的作用是跳转到该页面之后,页面指定到ID为该值的页面部分
(这个功能我们常用,当然如果没有该匹配的ID则停留在顶部,如果只是name匹配也是无效的)。
2。对于参数id传值多次并用&连接的URL(如例2中)
Request.QueryString["id"] 获得的值为一个用,连接而成的一个字符串。
例2中的结果为 id=123,789