当前页面位置: » 丰搜网 » 文档中心 » 详细内容
asp入门(二)——vbscript及表单
一、什么是vbscript?
vbscript是microsoft visual basic scripting edition的简称,你可以把它当作是visual basic的一个子集,但是这仅仅是从语法上来说的,正如
javascript和
java的关系一样,
vbscript和visual basic并没有什么本质上的联系。 它是一种脚本语言,由
vbscript脚本引擎(其实是一个动态连接库
vbscript.dll)解释执行。目前它主要用在www网页(只有ie能正确查看包含
vbscript脚本的网页,如
.netscape要正确查看,则必须安装一个插件)以及微软的www
服务器iis支持的
asp。
vbscript的语法这里就不再赘述,请读者参考其它书籍。
二、asp的输出
像所有讲编程的教材一样,让我们以“hello world”开始吧。假设我们要在网页里输出“hello world”,在
html里是很简单的事,在
asp中怎么做呢?请看下例:
<%response.write ″hello world″%>
把它存成一个
asp文件,执行后输出的效果如图1。
这里我们使用了response对象的write方法。response对象是
asp内置对象之一,也就是说,我们无需创建它就可以直接使用。
asp一共内置了6个对象,它们是server、err、application、session、request、response,关于它们的属性和方法,大家可以参考iis或pws的帮助文档。
下面是另一种输出的方法:
<%=″hello world″%>
这种语法是在
asp中特有的,它的意思是直接把等号“=”后面的内容输出到浏览器。
接下来让我们看一个稍复杂的例子:
<script language=″
vbscript″ runat=″server″>
response.write(″1″)
</script>
<%response.write(″2″)%>
<%=″3″%>
<script language=″
jscript″ runat=″server″>
response.write(″4″);
</script>
大家可能奇怪,怎么这回不像以前的写法了呢。前面说过,
asp的代码应该是用<%和%>括起来的呀。其实,只要在<script>标签里加上runat=″server″,那么,www
服务器在遇到包含runat=″server″的script语句时,会在
服务器端对script进行解释,runat=″server″的作用也就跟<%%>;相同了。而且 只是一种脚本环境,至于你要用什么脚本语言编程,那是你自己的选择。在
asp安装时,已经带有
vbscript和
jscript的脚本引擎。缺省地,使用
vbscript作为脚本语言,不过你也可以用language属性指定你所用的脚本语言。如上例,你可以在一个
asp文件中使用多种脚本语言。
现在我要考考你了,上例的输出结果是什么呢?“1234”吗?你试一试。输出的竟然是“4231”!原来,iis处理
asp文件时,总是把文件依次交给系统上安装的所有脚本引擎,而
jscript的顺序在
vbscript前面。这就是“4”输出在最前面的原因。然后,另一条规则是,在$#@60;script$#@62;括起来的代码和<% %>括起来的代码间,<% %>括起来的总是先被处理。而response.write 和“=”则没有先后顺序,按照出现的顺序处理。这就是“23”在“1”前面的道理。
三、取得表单提交的内容
我们在网上冲浪的时候,经常会看到有些网页中有些输入框以及按扭。当在输入框中输入一些内容比如姓名,然后按下按扭时,我们所输入的内容就会被浏览器传到
服务器上去。网页中的那些同我们交互的东西就组成了一个表单,在
html里用标签<form>标识。表单总是被提交给一个处理程序,这个处理程序可以是
cgi,也可以是
asp。用过
cgi的朋友可能知道,在
cgi中为了取出用户在表单中的输入信息是件很麻烦的事情,甚至有人专门写了例程来完成这件事情。然后,处理程序又将输出一些提示信息,向用户报告处理结果。从而完成一个交互过程。在
asp中,所有这些操作变得很简单了。请看下面的例子。
假设
服务器上有一个文件form.htm,它只包含一个表单(图2),源代码如下:
<
html>
<body>
<form method=″post″ action=″test.
asp″>
姓名:<input type=″input″ name=″xm″>
<@60;input type=″submit″ value=″确认″>
</form>
</body>
</
html>
点击“确认”键后,表单将请求test.
asp处理表单值。我们的test.
asp代码为:
<%
dim a
a=request.form(″xm″)
response.write a
%>
它将在浏览器端显示出我们输入的“张三”字样。
这里用到了request对象,在这个对象中保存了所有由form提交过来的数据,它们以集合的形式存在,可以通过元素名取出其中的值。然后我们的程序把它输出到浏览器。真的要感谢对象,它们帮我们做了一切,我们只需要简单地取用就可以了。当然我们也可以让test.
asp做更复杂的事,例如将输入的姓名存储在
服务器中的
数据库里,或者检查此人是否有访问下一页面的权利等。
好了,我们终于可以用
asp做具有交互性的网页了,而且它是如此地简单。在下一讲中,我们将接触inte
.net上最普通的应用所需要的操作——
数据库操作。