zoukankan      html  css  js  c++  java
  • 区分Request.Params、Request.QueryString、Request.Form

    https://blog.csdn.net/shiqijiamengjie/article/details/47125125
     
    Request.Params、Request.QueryString、Request.Form都可以获取客户端提交的数据。他们之间有什么不同呢?

    Request.Params

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

    Request. QueryString

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

    Request.Form

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

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

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

       在使用这几种方式获得客户端提交的数据时,如果用错了,编译时不会出现任何错误,但运行的时候就会提示“未将对象引用设置到对象的实例”。所以,如果无法确定提交的数据是什么方式时,建议使用Request或Request.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"]

  • 相关阅读:
    java中的锁
    CAS机制与自旋锁
    volatile关键字的特性及证明
    java中并发下的集合类
    数据库的分库分表
    浅入理解JVM
    99乘法表
    JAVA实现简单的时间刷新使用线程
    线程的优先级
    线程礼让
  • 原文地址:https://www.cnblogs.com/kelelipeng/p/12289959.html
Copyright © 2011-2022 走看看