第 4章 ASP技术基础
本章主要讲解:
Window对象的属性、事件与方法
Document对象的属性, 事件与方法
Location对象,History对象,Navigator对
象的属性、事件与方法
4.1 ASP技术概述
ASP( Active Server Page) 是一个开放
式的无需进行编译的应用程序环境,提供了
CGI程序和脚本的灵活性,同时不会使性能显
著下降。
4.1 ASP技术概述
ASP是在服务器上运行的,是多线程的。
ASP把 HTML的简单性、脚本程序编写方法以
及 Active服务器组件等组合在一起,用以创
建动态的功能强大的网站。
4.1.1 ASP基本概念
1,ASP程序的运行方式
2,ASP程序的编写规则
在 ASP中,所有脚本语言都是由定界符,<%”开始 和
,%>”结束,任何在这两个符号中包含的内容都被认为是一
个脚本,可以在其中插入任何程序语言,只要这个程序语言
对正在使用的脚本语言有效即可。
4.1.1 ASP基本概念
<html>
<head><title>ASP Script 示例 </title></head>
<body>
<% FOR I=1 to 7 %>
<font size=<%=I%>>web世界, 您好 ! <br> </font>
<% NEXT %>
</body>
</html>
4.1.1 ASP基本概念
<html>
<head><title>ASP Script 示例 </title></head>
<body>
<font size=1>web世界, 您好 ! <br> </font>
<font size=2>web世界, 您好 ! <br> </font>
<font size=3>web世界, 您好 ! <br> </font>
<font size=4>web世界, 您好 ! <br> </font>
<font size=5>web世界, 您好 ! <br> </font>
<font size=6>web世界, 您好 ! <br> </font>
<font size=7>web世界, 您好 ! <br> </font>
</body>
</html>
4.1.1 ASP基本概念
3,ASP文件及使用
ASP文件是以,,asp”结尾, 是一个文本文件, 可以
用任何文字编辑器来进行设计, 如 Visual InterDev 6、
Notepad等等 。
一般说来, ASP文件是由 HTML标识和 Vbscript或者
JScript程序代码混合在一起构成的, 是一个标准的网

4.1.2 ASP脚本语言
ASP是一个服务器端的脚本语言 。 在 ASP 脚本语
言中目前使用较多的且较流行的两种脚本语言为
VBScript和 JavaScript。 JavaScript是第一个所使用
在客户端的脚本语言, VBScript脚本语言是 Microsoft
研制的, 是建立在 Visual Basic程序设计语言的基础之
上 。
4.1.2 ASP脚本语言
服务器端脚本与客户端脚本的区别如下:
由 Web服务器解释的脚本称为服务器端脚本 。
由浏览器解释的脚本称为客户端脚本 。
4.1.3 ASP的对象模型
1,服务器端对象
在面向对象的程序设计中, 对象是典型的具有方
法, 属性或者集合的东西 。 其中方法决定了可以用该对
象所做的事情;属性可以被读取出来用以了解对象状态
或者设置对象状态;集合是由很多不同的, 和对象有关
系的键和值的配对组成的 。
<%@ Language=VBScript %>
<html>
<%
dim a(3) '定义了一个数组
a(1)="武汉工业学院 "
a(2)="武汉工业学院的 FTP服务器 "
a(3)="武汉工业学院的 mail服务器 "
set mydict=server.createobject("scripting.dictionary")
mydict.add "武汉工业学院 ","http://www.whpu.edu.cn/"
mydict.add "武汉工业学院的 FTP服务器 ","ftp://ftp.whpu.edu.cn/"
mydict.add "武汉工业学院的 mail服务器 ","http://mail.whpu.edu.cn/"
%>
<head><title>例 4-2</title></head>
<body>
本字典中所包括的内容如下,<br>
<%for i=1 to mydict.count%>
&nbsp;&nbsp;&nbsp;&nbsp; 第 &nbsp;<%=i%>&nbsp;个是
<%=mydict.Item(a(i))%><br>
<%next %>
共有 <%=mydict.count%>记录 <br>
</body></html>
4.1.3 ASP的对象模型
1,服务器端对象
常见的内置对象如下:
( 1) Application对象:
( 2) Request对象:
( 3) Response对象:
( 4) Server对象:
( 5) Session对象:
4.1.3 ASP的对象模型
2,客户端对象
W in d o w s
F r a me s D o c u me n t H is t o r y L o c a t io n
D o c u me n t D o c u me n t
E l e me n t B o d y A n c h o r s
F o r ms A l l
B u t t o n c h e c k b o x
N a v ig a t o r
L in k s
4.2 VBScript Window对象
2,客户端对象
Window对象是动态 HTML对象模型层次的根基, 封装
了当前浏览器环境的信息 。 一个 Window对象可包含几个
Frame( 框架 ) 对象 。
Window 对象包括 了对其它 六个对象 的引用:
Document,History,Location,Navigator,Screen和
Event。
4.2.1 VBScript Window对象的属性
1,Name属性
name返回的是该窗口的名称, 是一个只读的属性,
<a href="new_url" target="rightframe">新指针 </a>
4.2.1 VBScript Window对象的属性
2,Parent属性
如果当前窗口有父窗口, 返回当前窗口的父窗口对
象, 并可以使用返回对象的属性和方法 。
3,Self属性
其用法和 parent属性类似, 返回的是, window”对
象而不是窗口的名称 。
4.2.1 VBScript Window对象的属性
4,Top属性
该属性返回前窗口的一个对象, 可以通过这个对象访
问当前窗口的属性和方法 。
5,Location对象
Location对象最重要的属性是 href属性, 其返回的是
当前窗口的 URL。 例如:
thisURL=Window.location.href
4.2.1 VBScript Window对象的属性
5,Status属性
通过 status这个属性可以返回和设置页面状态栏的文
字, 下面这个例子是在状态栏显示打开这个窗口的时间
6,Frames属性
Frames返回的是一个数组对象, 代表了当前窗口框
架的集合 。 通过这个集合可以访问该窗口的所有框架和
它们的当前属性 。 通过下面的例子可以很清楚地认识到
Frames属性 。
4.2.2 VBScript Window对象的事件
1,Onload事件
Window对象的 Onload事件是在浏览器分析完 HTML
文件的所有代码内容后被激活 。
2,Onunload事件
在窗口卸载时, 也就是关闭当前浏览器窗口时,
Onunload事件被触发 。
4.2.2 VBScript Window对象的事件
<HTML>
<HEAD>
<TITLE>例 4- 8</TITLE>
<SCRIPT LANGUAGE=vbscript>
<!--
sub window_onload()
msgbox "新年快乐 ! ",0,"欢迎信息 "
end sub
sub window_onunload()
msgbox "希望下次很快能见到你 ! ",0,"再见信息 "
end sub
//-->
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
4.2.3 VBScript Window对象的方法
1,alert方法
<HTML>
<HEAD>
<TITLE>例 4-9</TITLE>
<SCRIPT LANGUAGE=vbscript>
<!--
sub button1_onclick()
window.alert "这是 alert方法的测试输出 ! "
end sub
//-->
</SCRIPT>
</HEAD>
<BODY>
<INPUT type="button" value="测试 " id=button1 name=button1>
</BODY>
</HTML>
4.2.3 VBScript Window对象的方法
2,confirm方法
3,prompt方法
用法如下:
username=window.prompt("请输入姓名 ","小子 ")
4.2.2 VBScript Window对象的事件
4,open方法
open方法的作用是打开一个新的窗口, 可带有很多的参数,
其使用的语法如下:
Window.open URL,target,[,”toobar,location,
directories,status,menubar,croolbar,resizeable,
width,height”],[top],[left]
<HTML>
<HEAD>
<TITLE>例 4-10</TITLE>
<SCRIPT LANGUAGE=vbscript>
<!--
sub button1_onclick()
window.open "http://www.whpu.edu.cn/","new_win",
"height=225,width=442,toolbar=no,menubar=no,
scrollbars=no,resizable=no,location=no,
status=no"
end sub
//-->
</SCRIPT>
</HEAD>
<BODY>
<INPUT type="button" value="测试 " id=button1 name=button1>
</BODY></HTML>
4.2.2 VBScript Window对象的事件
5,close方法
close方法是和 open方法对应的, 当用 Open方法打开一个新
的窗口的时候, 就可以用 close方法来关闭它, 如打开一个窗
口 。
new_win= window.open()
就可以用 window对象的 close方法来关闭它 。
new_win.close
4.2.2 VBScript Window对象的事件
6,setTimeout方法
setTimeout方法的作用是定时在多少毫秒后执行某个函
数或命令, 具体的使用语法如下:
id=window.setTimeout function,msecond,language
<HTML>
<HEAD>
<TITLE>例 4-11</TITLE>
<SCRIPT LANGUAGE=vbscript>
<!--
i=0
sub window_onload()
i=i+1
window.setTimeout "window_onload()",1000,vbscript
end sub
sub window_onunload()
msgbox "您在本网站停留了 "& i & "秒 "
end sub
//-->
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
4.2.2 VBScript Window对象的事件
7,clearTimeout方法
clearTimeout方法和 setTimeout方法对应, 它的作用是使定
时器复位,
8,Navigate方法
Navigate方法的作用是改变当前页面 URL,使页面转向新的
URL位置, 实际的作用就是改变了 location对象的 href属性的
值 。 使用方法如下所示:
window.navigate "http://www.whpu.edu.cn"
4.3 VBScript Document对象
4.3.1 VBScript Document对象的属性
1,Linkcolor
这个属性用来设置当前文档中超级链接显示的颜色 。 其
使用方法是:
window.document.linkColor =颜色值
4.3.1 VBScript Document对象的属性
颜色 RGB 颜色 RGB
黑色( Black) 000000 橄榄色( Olive) 808000
红色( Red) FF0000 深表色( Teal) 008080
绿色( Green) 008000 灰色( Gray) 808080
蓝色( Blue) 0000FF 深蓝色( Navy) 000080
白色( White) FFFFFF 浅绿色( Lime) 00FF00
黄色( Yellow) FFFF00 紫红色( Fuchsia) FF00FF
银色( Silver) C0C0C0 紫色( Purple) 800080
浅色( Aqua) 00FFFF 茶色( Maroon) 800000
4.3 VBScript Document对象
2,Alinkcolor和 Vlinkcolor
Alinkcolor和 linkColor可以设置和返回文档中
激活超级链接的颜色 。
vLinkColor是用来返回和设置页面中未被访问
( 点击 ) 过的超级链接的颜色 。
4.3 VBScript Document对象
3,Bgcolor和 Fgcolor
这两个对象分别用来读取或者设置
Document对象所代表文档的背景颜色和前景颜色 。
其使用方法与 Linkcolor相同 。
<HTML>
<HEAD>
<TITLE>例 4 -12</TITLE>
<SCRIPT LANGUAGE=vbscript>
<!--
sub select1_onclick
window.document.bgColor =select1.value
end sub
//-->
</SCRIPT>
</HEAD>
<BODY>
<SELECT id=select1 name=select1>
<OPTION value="red">红 </OPTION>
<OPTION value="green">绿 </OPTION>
<OPTION value="blue">蓝 </OPTION>
</SELECT>
</BODY>
</HTML>
4.3 VBScript Document对象
4,Links
Links的属性比较特殊, 返回的是一个数组集
合, 包含了当前文档所有超级链接的集合, 它有自
己的属性-- length属性, 通过这个集合可以访问
文档中的所有超级链接, 语法如下 。
Linkcount=document.links.length
<HEAD><TITLE>例 4-13</TITLE>
<SCRIPT LANGUAGE=vbscript>
sub button1_onclick()
dim sth1
for i=0 to document.links.length-1
sth1=sth1& "第 "&i&"个超链是 "&document.links(i)&chr(10)
next
msgbox sth1,0,"Links属性测试 "
end sub
</SCRIPT>
</HEAD>
<BODY>
<A HREF="http://www.whpu.edu.cn/">武汉工业学院 WEB服务器 </A>
<A HREF="ftp://ftp.whpu.edu.cn/">ftp服务器 </A>
<A HREF="http://mail.whpu.edu.cn/">mail服务器 </A>
<br><br>
<INPUT type=“button” value=“显示超链目标,
id=button1 name=button1>
</BODY></HTML>
4.3 VBScript Document对象
5,Form
form属性返回的是当前文档的所有 form的集合, 和数组
一样, 第一个 form定义为 forms(0),forms也可作为一个独
立对象 。 可以通过该属性在客户端获得用户的输入数据, 通
过该数据可对用户所输入的数据进行验证 。 例如, 在文档中
有这样一个输入框:
< FORM action="" method=POST id=form1
name=form1>
<input type=text name=username maxlength=16>
</FORM>
sub button1_onclick()
dim flag
flag=1
if len(document.form1.text1.value)<5 then
msgbox "用户名不能少于 5位 ! "
flag=0
end if
if
document.form1.password1.value<>document.form1.password2.value _
or form1.password1.value="" then
msgbox "密码不能为空或者密码与确认密码不相同 ! "
flag=0
end if
if form1.text2.value ="" then
msgbox "电话号码不能为空 !! "
flag=0
end if
if flag=1 then document.form1.submit()
end sub
<BODY>
<FORM action="" method=post id=form1 name=form1>
<P>用 户 名,<INPUT id=text1 name=text1 ></P>
<P>密 码,<INPUT type="password" id=password1 name=password1></P>
<P>确认密码,<INPUT type="password" id=password2 name=password2></P>
<P>姓 别,<INPUT type="radio" id=radio1 name=radio1 value=男 >男
<INPUT type="radio" id=radio2 name=radio1 value=女 >女 </P>
<P>电话号码,<INPUT id=text2 name=text2 ></P>
<INPUT type="button" value=" 提交 " id=button1 name=button1><INPUT type="reset"
value="重新填写 " id=reset1 name=reset1>
</FORM>
</BODY>
</HTML>
4.3.2 VBScript Document对象的事件
Document对象同其它 DHTML中的对象一样, 具有一些
可供使用的事件 。 这些事件分为这样几种:加载 ( onload)
与卸载 ( onunload) 事件, 鼠标事件, 键盘事件, 表单事
件等 。
1,鼠标事件
事件名称 事件说明
Mousemove 鼠标移动
Mouseover 鼠标移过元素上方
Mouseout 鼠标从元素上方移开
Mousedown 鼠标按键按下
Mouseup 鼠标按键抬起
Click 鼠标单击
dbClick 鼠标双击
<HTML>
<HEAD>
<TITLE>例 4-15</TITLE>
<SCRIPT LANGUAGE=vbscript>
<!--
sub testmouse_onmousedown
select case window.event.button
case 1
msgbox "您按下了鼠标左键 "
case 2
msgbox "您按下了鼠标右键 "
case 3
msgbox "您按下了鼠标左右键 "
end select
end sub
//-->
</SCRIPT>
</HEAD>
<BODY>
<A HREF="http://www.whpu.edu.cn" name="testmouse">鼠标事件测试 </A>
</BODY>
</HTML>
2,键盘事件
事件名称 事件说明
Keydown 用户按下一个键
Keypress 用户按住一个键不放
Keyup 用户将按下的键抬起
Help 只对两个键响应,F1键和 help键。对其他的
按键不敏感。
<HTML>
<HEAD>
<TITLE>例 4-16</TITLE>
<SCRIPT LANGUAGE=vbscript>
<!--
sub text1_onkeydown
msgbox chr(window.event.keyCode) &"键被按下 !"
end sub
sub text1_onkeypress
msgbox "您按下键的 ASCII码是,"&window.event.keyCode
end sub
//-->
</SCRIPT>
</HEAD>
<BODY>
<INPUT type="text" id=text1 name=text1>
</BODY>
</HTML>
3,表单事件
事件名称 事件说明
Reset 表单内容复位
Submit 表单提交
Blur 元素失去焦点
Change 元素内容发生改变,如文本域中的文本和选择框的状态
Focus 元素得到焦点
Select 元素内容发生改变,如文本域中的文本和下拉选单中的选项
4.4 VBScript的 Location,History
和 Navigator对象
本节将介绍三个很有用的对象,Location对象、
History对象和 Navigator对象,其中,Location对象封装了
窗口里显示的 URL的信息; History对象封装了浏览器所维
护的历史记录清单; Navigator对象提供了关于浏览器的
数据。
4.4.1 Location对象的属性
1,href
Location对象的 href属性返回当前页面完整的
URL地址(包括 URL虚拟路径和文档名)。通过该属性,
可以将当前页面导航到指定的页面。
4.4.1 Location对象的属性
2,host
Location对象的 host属性可以返回网页主机名以及所
连接的 URL的端口, 如果默认的端口号是 80,则仅返回
URL。
3,protocol
这个属性用来返回当前使用的协议。例如,浏览器中
访问 FTP站点,那这个属性将返回字符串, FTP”。
4.4.1 Location对象的属性
4,hash,pathname和 searchURL
这三个属性有些类似,其中,hash返回 URL地址中
,#, 后面的内容; pathname返回 URL地址中, /” 后
面的目录名; searchURL返回 URL地址中,?, 后面的
内容。
4.4.2 Location对象的方法
1,assign
将当前 URL地址设置为其后参数所给出的 URL,
2,reload
可以把当前网页内容进行重载 。
3,replace
用参数中给出的网址替换当前网址
4.4.4 History对象的方法
1,back方法
History对象的 back方法提供的功能是当前页面向后
退几页, 就如浏览器工具栏中的, 后退, 按钮的作用一样,
语法如下:
Window.history.back N
4.4.4 History对象的方法
2,forward
语法同 back方法, 作用正好相反, 作用与浏览器工具
条中的, 前进, 按钮一样 。 例如将指引浏览器向前进两页,
语句如下:
window.history.forward 2
4.4.4 History对象的方法
3,go
go方法指导浏览器转向历史记录中的某一页 。 例如:
window.history.go 10
将指引浏览器转向历史记录中的第十页 。
4.4.5 Navigator对象的属性
1,appCodeName,appName和 appVersion
Navigator对象的这几个属性用来获取当前浏览器的名称信
息 。 其中,
appCodeName返回浏览器代码名称;
appName返回浏览器名称;
appVersion返回浏览器的版本 。
4.4.5 Navigator对象的属性
2,cookieEnabled
如果用户允许使用 cookies, 则该属性返回 true; 否
则, 该属性返回 false。
3,playform
该属性返回操作系统的类型, 例如 Windows,Unix和
Linux。
4,systemLanguage
该属性返回系统缺省的语言 。
4.4.5 Navigator对象的属性
2,cookieEnabled
如果用户允许使用 cookies, 则该属性返回 true; 否
则, 该属性返回 false。
3,playform
该属性返回操作系统的类型, 例如 Windows,Unix和
Linux。
4,systemLanguage
该属性返回系统缺省的语言 。
<HTML>
<HEAD>
<TITLE>例 4-21</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE=vbscript>
<!--
document.write "浏览器代码名称," & navigator.appCodeName & "<br><br>"
document.write "浏览器名称," & navigator.appName & "<br><br>"
document.write "浏览器的版本," & navigator.appVersion & "<br><br>"
document.write "是否允许 cookies:" & navigator.cookieEnabled & "<br><br>"
document.write "操作系统的类型," & navigator.platform & "<br><br>“
document.write "系统缺省的语言," & navigator.systemLanguage & "<br><br>"
//-->
</SCRIPT>
</BODY>
</HTML>
4.4.6 Navigator对象的方法
Navigator对象提供了用于确定浏览器中是否允许
JAVA的使用, 方法使用语法如下:
navigator.javaEnabled
如果允许网页中使用, 则返回值为 true,否则为 false。
4.5 Cookies属性
4.5.1 什么是 Cookie
Cookies最初设计时, 是为了 CGI编程 。 但是, 也可以
使用 JavaScript脚本和 VBScript脚本来操纵 cookies。
4.5.2 建立 Cookie属性
要保存 cookie,只要建立一个字符串, 格式是:
name=<value>( 名称=值 )
另外, cookie还有四个属性 。 这些属性用下面的格式加到字
符串值后面:
name=<value>[; expires=<date>][; domain=<domain>][; path=<path>][; secure]
名称 =<值 >[; expires=<日期 >][; domain=<域 >][; path=<路径 >][; 安全 ]
4.5.3 Cookie的限制
Cookies保留在计算机上, 不跟着用户走 。
不要以为所有的浏览器都能接受 Web服务器所发出的 Cookies。
WEB 浏览器能保留的 Cookies不一定能超过 300个 。
4.6 小结
本章主要讲解 ASP关于客户端基于对象的程序设计, 这
些对象包括 Window对象, Document对象, Location对象,
History对象和 Navigator对象 。 着重介绍了这些对象所
拥有的事件, 方法和属性, 并通过一些实例使用户对这些
对象有一个深刻的了解, 这对于读者今后创建复杂的客户
端程序是大有帮助的 。 通过对这些对象的学习, 使读者能
熟练运用如何访问不同 Web页的内容, 如何访问表单元素
中的值, 如何导航到指定页面, 如何返回到指定页面等等 。