区分Request.Params、Request.QueryString、Request.Form

   Request.ParamsRequest.QueryStringRequest.Form都可以获取客户端提交的数据。他们之间有什么不同呢?

Request.Params

Request. QueryString

Request.Form

既可以获取以GET方式提交的数据,又可以获取以POST方式提交的数据(优先获取GET方式提交的数据)

只能获取以GET方式提交的数据

只能获取以POST方式提交的数据

   Request.Params其实是一个集合,次包括request.querystring、request.form、request.servervariables和request.cookies。

如图:

                             

   Request.Params依次在QueryStringFormServerVariable以及Cookies中查找数据,首先在 QueryString 集合查找数据,如果在 QueryString找到数据,就返回数据;反之,就去 Form集合中查找数据,找到就返回,否则再往下一个集合查找数据。

   在使用这几种方式获得客户端提交的数据时,如果用错了,编译时不会出现任何错误,但运行的时候就会提示“未将对象引用设置到对象的实例”。所以,如果无法确定提交的数据是什么方式时,建议使用RequestRequest.Params获取数据。但是,由于这两种方式需要从集合中一一查找数据,很耗费时间,为了提高效率,减少无谓的搜索时间,同时也是为了程序的规范,建议大家还是用Request.集合的方式更好一点。

   凡事都有两面性,学会取舍是关键。

知识拓展:

request对象有五个集合:

QueryString

用以获取客户端附在url地址后的查询字符串中的信息。

例如:stra=Request.QueryString ["strUserld"]

Form

用以获取客户端在FORM表单中所输入的信息。(表单的method属性值需要为POST)

例如:stra=Request.Form["strUserld"]

Cookies

用以获取客户端的Cookie信息。

例如:stra=Request.Cookies["strUserld"]

ServerVariables

用以获取客户端发出的HTTP请求信息中的头信息及服务器端环境变量信息。

例如:stra=Request.ServerVariables["REMOTE_ADDR"],返回客户端IP地址

ClientCertificate

用以获取客户端的身份验证信息

例如:stra=Request.ClientCertificate["VALIDFORM"]

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值