思索网:WWW.4SO.NET
网站首页
设为首页
加入收藏
社区论坛
联系我们
网站地图
发现个人价值
提高企业内涵
一切源于思索
首页
企业之家
公关文秘
免费论文
网上办公指南
操作系统
多媒体应用
现代教学
下载中心
专题报道
推荐文章
评论
English Article
IT资讯
网页设计
网站运营
编程开发
平面设计
网络安全
工具下载
站内搜索
最新文章
热门文章
论坛
栏目列表
ASP专区
PHP专区
JSP专区
.Net专区
XML专区
其它网页编程
HTML&CSS
Dreamweaver
Frontpage
Javascript
数据库相关
服务器相关
网络媒体
建站经验
FLASH
网络安全
首页
>
站长学院
>
ASP专区
> 浅谈ASP中Request对象获取客户端数据的顺序
浅谈ASP中Request对象获取客户端数据的顺序
日期:
2005-04-03 00:00:00
来源:
中国站长学院
请您记住思索网的网址:
http://www.4so.net
[加入收藏夹]
在
ASP
中Request对象是获取客户端提交数据的一个很重要的对象,大家对它也是非常熟悉了。
虽然如此,还是经常有人问我下面的几种写法有什么不同,到底应该怎么写?
strMessage = Request("msg")
strMessage = Request.Form("msg")
而且,我也看过好多人写的代码,一律都是Request("")的写法,当然这样的写法并没有什么错。
只是大家应该注意Request对象有几个集合来获取客户端提交的数据,一般常用的是QueryString,Form和ServerVariables。
而不管对于哪种集合其实都是可以通过Request("")这样直接取得的,这里就有一个问题,如果Get方式和Post方式提交了同样的一个变量,比如username=cqq,那么你用Request("username")取出来的到底是Get过来的数据还是Post过来的数据呢?
所以,问题到了这里,大家就应该想到了, Request从这几个集合取数据是有顺序的,从前到后的顺序依次是 QueryString,Form,最后是ServerVariables。Request对象按照这样的顺序依次搜索这几个集合中的变量,如果有符合的就中止,后面的就不管了。 所以上面的例子Request("username")取到的实际是Get方法提交的数据。
所以为了提高效率,减少无谓的搜索时间,同时也是为了程序的规范,建议大家还是用Request.集合的方式更好一点,比如Request.Form("username")。
下面是一个测试例子,提交以后,大家可以直接在地址后面加上 ?username=test 来测试:
<%
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.4so.net/web/asp/223.html
将本页加入收藏夹
将地址复制到剪贴板发送给好友
若发现本文有误或版权问题点击这里
热门信息
相关文章
[
ASP专区
]
asp内置对象Application详解
[
ASP专区
]
ASP实用函数库
[
ASP专区
]
ASP 中 Split 函数的实例
[
ASP专区
]
asp 用存储过程实现数据分页
[
ASP专区
]
Web程序中网页间数据传递方法小结
[
ASP专区
]
ASP基本语法
[
ASP专区
]
ASP.NET 2.0中的登陆控件简介
[
ASP专区
]
ASP讲座之四:ASP内置组件
[
ASP专区
]
ASP讲座之三:Application对象与
[
ASP专区
]
存贮过程
浅谈ASP中Web页面间的数据传递
文章评论
收藏本文
打印本文
关闭窗口