博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Request、Request.Params、Request.QueryString、Request.form的区别
阅读量:6858 次
发布时间:2019-06-26

本文共 1243 字,大约阅读时间需要 4 分钟。

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

Request方法

Request:Request["id"]是一个复合功能读取函数。它从几个集合取数据是有顺序的,从前到后的顺序依次是:QueryString > Form > Cookies > ClientCertificate > ServerVariables,也即是一般get比post优先级高些。Request对象按照这样的顺序依次搜索这几个集合中的变量,如果有符合的就中止,后面的就不管了

做为一个优秀的程序员要养成好的习惯,记得在request后面加上集合的名字

当我们提交这个表单时同时传递了两个id值,一个是form里input的id它以post方式提交,而另一个是action里的url传递了一个以get方式提交的id。那麽我们如果用Request("id")得到的是哪一个值?就得据其优先级才知道,一般应该是get比post优先级高些

Request对象可以不指明具体使用QueryString或是form方法,如request("变量"),因为它能自动识别,不过还是指明为好,否则,要它自己判断也得花些微时间,影响程序执行效率

Request.Params方法

Request.Params是所有post和get传过来的值的集合它依次包括request.QueryString、request.Form、request.cookies和request.ServerVariable

Request.QueryString方法

Request.QueryString["id"] 只能读取通过地址栏参数传递过来的名为id的参数(以GET方式提交的数据),如果不存在名为id的地址栏参数Request.QueryString["id"]将会返回空

例如:

stra=Request.QueryString ["strUserld"]

Request.form方法

它是用来接收表单变量的(post 方法)

Request.QueryString和Request.form

Request.QueryString和Request.form除了接收方法不同外,还有传递数据量大小的问题,request.form方法能接收的数据没有限制,而request.QueryString只能接收数据量小于2KB数据,当然后者的执行速度要比前者快。一般往数据库请求查询时用request.QueryString方法,因为查询时只不过那么几个关键词,没有必要用request.form方法而导致查询速度变慢。另外,request.QueryString方法还会把数据信息显示在客户端浏览器地址栏中,安全性较差。 request.form方法不存在上述问 题,因此大量被应用在多个文本域提交数据和用户登陆的场合

转载地址:http://oaiyl.baihongyu.com/

你可能感兴趣的文章
windows 屏幕坐标 窗口坐标 客户区坐标 逻辑坐标 设备坐标之间的关系及转换
查看>>
在Foreda8上试安装Apchehttpd-2.4.6.tar.gz
查看>>
基于S3C2410的VIVI移植
查看>>
Entity Framwork one to one problem
查看>>
[转] Attach、Detach和DeleteObject
查看>>
[转] C# 获取程序运行目录
查看>>
【OpenCV学习】极坐标变换
查看>>
第九章 Linux系统下分区、格式化磁盘,学会挂载和卸载磁盘
查看>>
nginx实现大小写字母转换(ngx_http_lower_upper_case模块)
查看>>
Java并发编程实战(chapter_1)(原子性、可见性)
查看>>
C语言经典100例
查看>>
uniq与sort -u 两种去重复的对别 .
查看>>
张龙老师对程序员的建议
查看>>
剑指offer总结——1
查看>>
kubernetest master 节点恢复灾备恢复操作指南
查看>>
Linux的文件权限和特殊权限
查看>>
ImageX Tool for Windows
查看>>
NIFI putsolrstream使用
查看>>
org.tinygroup.application-应用启动框架
查看>>
Linux bash简介
查看>>