1.Request.form方法,它是用来接收表单变量的(post 方法)
2.Request.QueryString方法, 它是接收URL参数的 (get 方法)
3.Request对象也可以不指明具体使用QueryString或是form方法,如request("变量"),因为它能自动识别,不过还是指明为好,否则,要它自己判断也得花些微时间,影响程序执行效率。
两者除了接收方法不同外,还有传递数据量大小的问题,request.form方法能接收的数据没有限制,而request.QueryString只能接收数据量小于2KB数据,当然后者的执行速度要比前者快。一般往数据库请求查询时用request.QueryString方法,因为查询时只不过那么几个关键词,没有必要用request.form方法而导致查询速度变慢。另外,request.QueryString方法还会把数据信息显示在客户端浏览器地址栏中,安全性较差。 request.form方法不存在上述问题,因此大量被应用在多个文本域提交数据和用户登陆的场合。
Request.QueryString["id"] 只能读取通过地址栏参数传递过来的名为id的参数。
Request["id"]是一个复合功能读取函数。
Request从几个集合取数据是有顺序的,从前到后的顺序依次是 QueryString,Form,最后是ServerVariables。Request对象按照这样的顺序依次搜索这几个集合中的变量,如果有符合的就中止,后面的就不管了。
它的优先级顺序为
QueryString > Form > Cookies > ServerVariables
也就是说,如果存在名为id的地址栏参数,Request[ "id" ] 的效果和 Request.QueryString["id"] 是样的。
如果不存在名为id的地址栏参数,Request.QueryString["id"]将会返回空,但是Request[ "id" ]会继续检查是否存在名为id的表单提交元素,如果不存在,则继续尝试检查名为id的Cookie,如果不存在,继续检查名为id的服务器环境变量。它将最多做出4个尝试,只有四个尝试都失败,才返回空。