Request.QueryString()和Request()和Request.Form();
一、 querystring的用法及原理
当页面上的 FORM以 GET方式向页面发送请求数据 (如数据含有不安全字符,则浏览器先将其转换成 16进制的字符再传送,如空格被转成 %20)时, WEB SERVER 将请求数据放入一名为 QUERY_STRING的环境变量中, QueryString 方法是从这一环境变量中取出相应的值,并将被转成 16进制的字符还原 (如 %20 被还原成空格 )。
如表单上有一 name为 username的文本框及一 name为 password的文本框 , 当表单提交时,会产生这样的 URL串: http://www.xxxxx.com/xxxx.asp?username=nnnnn&password=mmmmm 使用 Request.QueryString( "username ") 会得到 字符串 "nnnnn " Request.QueryString( "password ") 得到 "mmmmm " !
使用下面方法可以得出所有的请求数据: for each xKey in Request.QueryString response.write( " <p> " & xkey & " = " & Request.QueryString(xkey) & " </p> ") next
使用下面方法可以列出所有的环境变量: for each xKey in Request.ServerVariables response.write( " <p> " & xkey & " = " & Request.ServerVariables(xkey) & "< /p> ")
next
二、request.querystring("id")与request("id")区别
Request 从几个集合取数据是有顺序的,从前到后的顺序依次是 QueryString,Form, 最后是 ServerVariables 。 Request 对象按照这样的顺序依次搜索这几个集合中的变量,如果有符合的就中止,后面的就不管了。
现在我们来分析下你得问题 . 假设有个页面 test.asp?id=111 这里我们的页面是用 GET 的方法 . 这时用 request.querystring("id") 与 request("id") 是一样得 , 应该如果不指定 REQUEST 得集合 , 首先就会从 Querystring 搜索 .
而如果我们的页面是用的是 POST 的方法发送数据给 test.asp, 那么用 request.querystring("id") 是不行的了 ( 他只能取 GET), 而要用 request.from("id"), 而如果还用 request("id") 他也能取到数据 , 但先检测 QUERYSTRING 的值 , 显然速度就慢了 .
下面是个检测的例子你可以看看 : < % If Request("submit")<>"" then Response.Write " 直接取: "& Request("username") & "<br>" Response.Write " 取 Get : " & Request.QueryString("username") & "<br>" Response.Write " 取 Post : " & Request.Form("username") & "<br>" End if %> < form name=form1 action="" method=post> < input type=test name="username" value="postuser"> < input type=submit name="submit" value="test"> < /form>
转自:http://www.cnblogs.com/qyz123/archive/2006/12/11/589221.html
Request.QueryString()和Request()和Request.Form();的更多相关文章
- Request.QueryString("id")与Request("id")区别
Request从几个集合取数据是有顺序的,从前到后的顺序依次是 QueryString,Form,最后是ServerVariables.Request对象按照这样的顺序依次搜索这几个集合中的变量,如果 ...
- request.querystring和request.form的区别
1,request.querystring和request.form的区别 request.querystring是用来接收地址里面问号“?”后面的参数的内容, 用get方法读取的 不安全 requ ...
- C# Request.Params与Request.QueryString 的区别
1.Request.Params包含Request.QueryString,request.form.request.cookies和request.servervariables.这几种查找的时候会 ...
- C#中 Request, Request.params , Request.querystring , Request.Form 区别 与联系用法
C#中 Request, Request.params , Request.querystring , Request.Form 区别 与联系用法? Request.params , Request ...
- request.querystring和request.form、session的区别
1. request.querystring是用来接收地址里面问号“?”后面的参数的内容, 用get方法读取的 不安全 request.form是用来接收表单递交来的数据 ,是用post方法读取 ...
- Request、Request.Form、Request.QueryString 用法的区别
Request.Form:获取以POST方式提交的数据. Request.QueryString:获取地址栏参数(以GET方式提交的数据). Request:包含以上两种方式(优先获取GET方式提交的 ...
- Request、Request.Form和Request.QueryString的区别
Request.Form:获取以POST方式提交的数据(接收Form提交来的数据): Request.QueryString:获取地址栏参数(以GET方式提交的数据) Request:包含以上两种方式 ...
- asp.net Request、Request.Form、Request.QueryString的区别(转)
Request.Form:获取以POST方式提交的数据. Request.QueryString:获取地址栏参数(以GET方式提交的数据). Request:包含以上两种方式(优先获取GET方式提交的 ...
- [转载]Request、Request.Form和Request.QueryString的区别
Request.Request.Form和Request.QueryString的区别 request本身是一个系统的静态对象,本身也可以作为数组调用,比如request("abc" ...
随机推荐
- IntelliJ IDEA总是提示Cannot resolve symbol
之前还用得好好的,不知道是点了工具栏位置的包路径还是哪里,然后几乎工程每个Java文件都在报Cannot resolve symbo错误,即使像String这样的语句也报错,我可以保证所有该引用的包都 ...
- 【leetcode】290. Word Pattern
problem 290. Word Pattern 多理解理解题意!!! 不过博主还是不理解,应该比较的是单词的首字母和pattern的顺序是否一致.疑惑!知道的可以分享一下下哈- 之前理解有误,应该 ...
- Html静态网页下载—Teleport Pro 1.68 官方原版
Teleport Pro 1.68 官方原版+有效注册码 – 下载整个网站 简介 Teleport Pro由美国Tennyson Maxwell公司开发,曾被PC Magazine评为”编辑选择奖”. ...
- [LeetCode&Python] Problem 237. Delete Node in a Linked List
Write a function to delete a node (except the tail) in a singly linked list, given only access to th ...
- linux 的压缩 打包
1.压缩打包,常见的命令:gzip bzip2 xz zip tar gzip: 不能压缩目录 gip -[0-9] file_name 压缩级别, 默认是6 gzip file_nane ...
- 由testcase数据之分析
一.获取data来源 1.利用openpyxl从excel表格获取数据,相较于xlrd,openpyxl可以将表格里的样式也传递过来的优势 xlrd ----------------- ht ...
- random module
import random # 方法返回随机生成的一个实数,它在[0,1)范围内print(random.random())运行结果:0.06435148447021877 # 方法返回随机生成的一个 ...
- 微处理器CPU 50年
CPU50年 ===电子管时期1912年:美国青年发明家德.福雷斯特(L.De Forest)在帕洛阿托小镇首次发现了电子管的放大作用.1946年:地球上第一台电子数字式计算机(ENIAC(埃尼阿克) ...
- (19)模型层 -ORM之msql 跨表查询(正向和反向查询)
基于对象的跨表查询 基于对象的跨表查询'''正向和反向查询'''# 正向 ----> 关联字段在当前表中,从当前表向外查叫正向# 反向 ---> 关联字段不在当前表中,当当前表向外查叫反向 ...
- vim 自动注释
开启了自动注释和自动缩进对粘帖代码不方便 关闭自动注释 :set fo-=r 关闭自动缩进(这个对C/C++代码好像无效) :set noautoindent 关闭C语言缩进 :set noc ...