Jester Zhu

从学习中得到乐趣,从乐趣中得到灵感,从灵感中创造真知。Think well,just do it.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

.net基础学习(一):request与request.form的区别

Posted on 2009-09-11 09:53  Jester Zhu  阅读(2792)  评论(0编辑  收藏  举报
在.net学习开发中,基础比较重要。现在我将一些最基础的.net知识一点点总结,温故知新。


我们在网页开发的过程中要接受来自页面传来的值,这也是我们要了解的基础内容。
使用Request.Form,ASP是从FORM集合中搜索。
使用Request,ASP是以如下顺序进行搜索:
     1.QueryString
     2.Form
     3.Cookies
     4.ClientCertificate
     5.ServerVariables
如果在QueryString里也存在一个同Form里相同的变量名,则不会返回Form里的值,而是QueryString的。

      Request.form:获取前台form表单以POST方式提交的数据
      Request.QueryString :获取地址栏参数(以GET方式提交的数据)
      Request:包含以上两种方式(优先获取GET方式提交的数据)

两者除了接收方法不同外,还有传递数据量大小的问题:

Request.form方法能接收的数据没有限制,而Request.QueryString只能接收数据量小于2KB数据,当然后者的执行速度要比前者快。
一般向数据库请求查询时用request.QueryString方法,因为查询时只不过那么几个关键词,没有必要用request.form方法而导致查询速度变慢。
另外,request.QueryString方法还会把数据信息显示在客户端浏览器地址栏中,安全性较差。
request.form方法不存在上述问题,因此大量被应用在多个文本域提交数据和用户登陆的场合。
request对象也可以不指明具体使用QueryString或是form方法,如request("变量"),因为它能自动识别,
不过还是指明为好,否则,要它自己判断也得花些微小的访问时间,影响程序执行效率。