Request.QueryString 使用时候应该注意的地方。

今天看到了一个面试题,如下

 例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 

原文地址:https://www.cnblogs.com/dooom/p/1765881.html