Request.Item
定义:
从 QueryString、Form、Cookies 或 ServerVariables 集合获取指定的对象
语法:
public string this[
string key
] { get; }
Request.Params
定义:
获取 QueryString、Form、Cookies 和 ServerVariables 项的组合集合
语法:
public NameValueCollection Params { get; }
Reqeust["key"]或Request.Params["key"]
两者都是以指定key搜索Request.QueryString、Request.Form、Request.Cookies 和 Request.ServerVariables这4个集合,这让我们可以以方便的形式访问参数值,而不必去区分它来自GET还是POST
注:QueryString、Form、ServerVariables是NameValueCollection类型的,允许同名key,即一个键下存储多个字符串值,Cookies的HttpCookieCollection类型的,其基类是NameObjectCollectionBase,不允许同名key
不同的地方在于Item是依次访问4个集,找到就返回结果,而Params是在访问时,先将4个集合的数据合并到一个新集合(集合不存在时创建),然后再查找指定的结果。这至少意味两点,一是开销,Params会创建新的合并集合,二是存在跨集合的同名key的情况下(比如QueryString和Form有相同名称的key),Reqeust["key"]和Request.Params["key"]的返回结果会不同
至于Request[]、Request.Params[]该用哪一个,仁者见仁,智者见智了
本文深入解析ASP.NET中Request.Item和Request.Params的使用方式,详细比较了两者在获取请求参数时的不同之处,包括它们的语法、工作原理及在实际应用中的区别。重点强调了如何在代码中灵活运用这两个属性来高效处理HTTP请求。
2553

被折叠的 条评论
为什么被折叠?



