Request.Item和Request.Params

本文深入解析ASP.NET中Request.Item和Request.Params的使用方式,详细比较了两者在获取请求参数时的不同之处,包括它们的语法、工作原理及在实际应用中的区别。重点强调了如何在代码中灵活运用这两个属性来高效处理HTTP请求。


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[]该用哪一个,仁者见仁,智者见智了

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值