ASP 实例
基础
用ASP写文本
如果使用ASP生成文本。
<html>
<body>
<%
response.write("Hello World!")
%>
</body>
</html>
向文本添加HTML
如果同时生成HTML标签和纯文本。
<html>
<body>
<%
response.write("<h2>您可以使用 HTML 标签来格式化文本</h2>")
%>
<%
response.write("<p style='color:#0000ff'>这段文本的样式是通过 style 属性添加的。</p>")
%>
</body>
</html>
变量
声明变量
变量用于存储信息。本例演示如何声明变量,为变量赋值,并在程序中使用这个变量
<html>
<body>
<%
dim name
name="Donald Duck"
response.write("My name is: " & name)
%>
</body>
</html>
声明数组
数组用于存储一系列相关的数据项目。本例演示如何声明一个存储名字的数组。
<html>
<body>
<%
Dim fname(5),i
fname(0) = "George"
fname(1) = "John"
fname(2) = "Thomas"
fname(3) = "James"
fname(4) = "Adrew"
fname(5) = "Martin"
For i = 0 to 5
response.write(fname(i) & "<br />")
Next
%>
</body>
</html>
循环生成HTML标题
如何循环生成6个不同的HTML标题。
<html>
<body>
<%
dim i
for i=1 to 6
response.write("<h" & i & ">Header " & i & "</h" & i & ">")
next
%>
</body>
</html>
使用Vbscript制作基于时间的问候语
本例将根据服务器时间向用户显示不同的消息。
<html>
<body>
<%
dim h
h=hour(now())
response.write("<p>" & now())
response.write(" (Beijing Time) </p>")
If h<12 then
response.write("Good Morning!")
else
response.write("Good day!")
end if
%>
</body>
</html>
使用JavaScript制作基于时间的问候语
本例同上,只是语法不同而已。
<%@ language="javascript" %>
<html>
<body>
<%
var d=new Date()
var h=d.getHours()
Response.Write("<p>")
Response.Write(d + " (Beijing Time)")
Response.Write("</p>")
if (h<12)
{
Response.Write("Good Morning!")
}
else
{
Response.Write("Good day!")
}
%>
</body>
</html>
程序:
调用使用VBScript的子程序
如何从ASP调用以VBScript编写的子程序。
<html>
<head>
<%
sub vbproc(num1,num2)
response.write(num1*num2)
end sub
%>
</head>
<body>
<p>您可以像这样调用一个程序:</p>
<p>结果:<%call vbproc(3,4)%></p>
<p>或者,像这样:</p>
<p>结果:<%vbproc 3,4%></p>
</body>
</html>
调用使用JavaScript的子程序
如何从ASP调用以JavaScript编写的子程序。
<%@ language="javascript" %>
<html>
<head>
<%
function jsproc(num1,num2)
{
Response.Write(num1*num2)
}
%>
</head>
<body>
<p>
结果:<%jsproc(3,4)%>
</p>
</body>
</html>
调用使用VBScript和JavaScript的子程序
如何在一个ASP文件中调用以VBScript和JavaScript编写的子程序。
<html>
<head>
<%
sub vbproc(num1,num2)
Response.Write(num1*num2)
end sub
%>
<script language="javascript" runat="server">
function jsproc(num1,num2)
{
Response.Write(num1*num2)
}
</script>
</head>
<body>
<p>结果:<%call vbproc(3,4)%></p>
<p>结果:<%call jsproc(3,4)%></p>
</body>
</html>
表单:
使用method="get"的表单
如何使用Request.QueryString命令与用户进行交互。
<html>
<body>
<form action="/example.mde/demo.mde_reqquery.md" method="get">
您的姓名:<input type="text" name="fname" size="20" />
<input type="submit" value="提交" />
</form>
<%
dim fname
fname=Request.QueryString("fname")
If fname<>"" Then
Response.Write("你好!" & fname & "!<br />")
Response.Write("今天过得怎么样?")
End If
%>
</body>
</html>
使用method="post"的表单
如何使用Request.Form命令与用户进行交互。
<html>
<body>
<form action="/example.mde/demo.mde_simpleform.md" method="post">
您的姓名:<input type="text" name="fname" size="20" />
<input type="submit" value="提交" />
</form>
<%
dim fname
fname=Request.Form("fname")
If fname<>"" Then
Response.Write("您好!" & fname & "!<br />")
Response.Write("今天过得怎么样?")
End If
%>
</body>
</html>
使用单选按钮的表单
如何使用Request.Form通过单选按钮与用户进行交互。
<html>
<%
dim cars
cars=Request.Form("cars")
%>
<body>
<form action="/example.mde/demo.mde_radiob.md" method="post">
<p>请选择您喜欢的汽车:</p>
<input type="radio" name="cars"
<%if cars="Volvo" then Response.Write("checked")%>
value="Volvo">Volvo</input>
<br />
<input type="radio" name="cars"
<%if cars="Saab" then Response.Write("checked")%>
value="Saab">Saab</input>
<br />
<input type="radio" name="cars"
<%if cars="BMW" then Response.Write("checked")%>
value="BMW">BMW</input>
<br /><br />
<input type="submit" value="提交" />
</form>
<%
if cars<>"" then
Response.Write("<p>您喜欢的汽车是" & cars & "</p>")
end if
%>
</body>
</html>
Cookie:
Welcome cookie
如何创建欢迎cookie。
<%
dim numvisits
response.cookies("NumVisits").Expires=date+365
numvisits=request.cookies("NumVisits")
if numvisits="" then
response.cookies("NumVisits")=1
response.write("欢迎!这是您第一次访问本页面。")
else
response.cookies("NumVisits")=numvisits+1
response.write("之前,您已经访问过本页面 ")
response.write(numvisits & " 次。")
end if
%>
<html>
<body>
</body>
</html>
Response 对象:
使用ASP写文本
本例演示如何使用ASP来写文本。
<html>
<body>
<%
response.write("Hello World!")
%>
</body>
</html>
在ASP中使用HTML标签格式化文本
本例演示如何使用ASP将文本和HTML标签结合起来。
<html>
<body>
<%
response.write("<h2>您可以使用 HTML 标签来格式化文本</h2>")
%>
<%
response.write("<p style='color:#0000ff'>这段文本的样式是通过 style 属性添加的。</p>")
%>
</body>
</html>
将用户重定向至不同的URL
本例演示如何将用户重定向至另一个的URL。
<%
if Request.Form("select")<>"" then
Response.Redirect(Request.Form("select"))
end if
%>
<html>
<body>
<form action="/example.mde/demo.mde_redirect.md" method="post">
<input type="radio" name="select"
value="/example.mde/demo.mde_server.md">
服务器实例<br />
<input type="radio" name="select"
value="/example.mde/demo.mde_text.md">
文本实例<br /><br />
<input type="submit" value="跳转!">
</form>
</body>
</html>
显示随机的链接
本例演示一个超级链接,当您每次载入页面时,它将显示两个链接中的其中一个。
<html>
<body>
<%
randomize()
r=rnd()
if r>0.5 then
response.write("<a href='http://www.baidu.com'>baidu.com!</a>")
else
response.write("<a href='http://www.news.cn'>news.cn!</a>")
end if
%>
<p>
本例演示一个链接,每当您加载本页时,就会显示两个链接之一:baidu.com! 或 news.cn!各占百分之五十的几率。
</p>
</body>
</html>
控制缓存
本例演示如何控制缓存。
<%
Response.Buffer=true
%>
<html>
<body>
<p>
当您的 response 缓存清空时,这段文本就会发送到浏览器。
</p>
<%
Response.Flush
%>
</body>
</html>
清空缓存
本例演示如何清空缓存。
<%
Response.Buffer=true
%>
<html>
<body>
<p>
当您的 response 缓存清空时,这段文本就会发送到浏览器。
</p>
<%
Response.Flush
%>
</body>
</html>
在处理过程中终止脚本并返回结果
本例演示如何在处理过程中中断脚本的运行。
<html>
<body>
<p>我正在写文本。这些文本不会被<br />
<%
Response.End
%>
完全发送。这时候已经不能输出任何文本了!</p>
</body>
</html>
设置在页面失效前把页面在浏览器中缓存多少分钟
本例演示如何规定页面在失效前在浏览器中的缓存时间。
<%Response.Expires=-1%>
<html>
<body>
<p>每当被访问,本页都会被刷新!</p>
</body>
</html>
设置页面缓存在浏览器中的失效日期或时间
本例演示如何规定页面在浏览器中的缓存时间日期或时间
<%
Response.ExpiresAbsolute=#May 05,2001 05:30:30#
%>
<html>
<body>
<p>本页面的缓存会在该日期失效:05, 2001 05:30:30!</p>
</body>
</html>
检查用户是否仍然与服务器相连
本例演示如何检查用户是否已与服务器断开。
<html>
<body>
<%
If Response.IsClientConnected=true then
Response.Write("用户仍然保持连接。")
else
Response.Write("用户未连接。")
end if
%>
</body>
</html>
设置内容类型
本例演示如何规定内容的类型。
<%
Response.ContentType="text/html"
%>
<html>
<body>
<p>This is some text.</p>
</body>
</html>
设置字符集
本例演示如何规定字符集的名称。
<%
Response.Charset="ISO8859-1"
%>
<html>
<body>
<p>This is some text</p>
</body>
</html>
QueryString集合 实例
当某用户点击链接时发送查询信息
本例演示如何在在链接中向页面发送一些额外的查询信息,并在目标页面中取回这些信息(在本例中是同一个页面)。
<html>
<body>
<a href="/example.mde/demo.mde_simplequerystring.md?color=green">Example</a>
<%
Response.Write(Request.QueryString)
%>
</body>
</html>
对QueryString集合的简单应用
本例演示QueryString集合如何从表单取回值。此表单使用GET方法,这意外着被发送的信息对用户来说是可见的(在地址中)。GET方法还会限制所发送信息的数量。
<html>
<body>
<form action="/example.mde/demo.mde_simplereqquery.md" method="get">
First name: <input type="text" name="fname"><br />
Last name: <input type="text" name="lname"><br />
<input type="submit" value="Submit">
</form>
<%
Response.Write(Request.QueryString)
%>
</body>
</html>
如何使用从表单传来的信息
本例演示如何使用从表单那里取回的值。我们会使用QueryString集合。此表单使用GET方法。
<html>
<body>
<form action="/example.mde/demo.mde_reqquery.md" method="get">
您的姓名:<input type="text" name="fname" size="20" />
<input type="submit" value="提交" />
</form>
<%
dim fname
fname=Request.QueryString("fname")
If fname<>"" Then
Response.Write("你好!" & fname & "!<br />")
Response.Write("今天过得怎么样?")
End If
%>
</body>
</html>
来自表单的更多信息
本例演示假如输入域包含若干相同的名称的话QueryString会包含什么内容。它将展示如何把这些相同的名称分割开来。它也会展示如何使用count关键词来对"name"属性进行计数。此表单使用GET方法。
<html>
<body>
<%
If Request.QueryString<>"" Then
If Request.QueryString("name")<>", " Then
name1=Request.QueryString("name")(1)
name2=Request.QueryString("name")(2)
end if
end if
%>
<form action="/example.mde/demo.mde_reqquery2.md" method="get">
First name:
<input type="text" name="name" value="<%=name1%>" />
<br />
Last name:
<input type="text" name="name" value="<%=name2%>" />
<br />
<input type="submit" value="Submit" />
</form>
<hr>
<%
If Request.QueryString<>"" Then
Response.Write("<p>")
Response.Write("The information received from the form was:")
Response.Write("</p><p>")
Response.Write("name=" & Request.QueryString("name"))
Response.Write("</p><p>")
Response.Write("The name property's count is: ")
Response.Write(Request.QueryString("name").Count)
Response.Write("</p><p>")
Response.Write("First name=" & name1)
Response.Write("</p><p>")
Response.Write("Last name=" & name2)
Response.Write("</p>")
end if
%>
</body>
</html>
Form集合 实例
一个Form集合的简单应用
本例演示Form集合如何从表单取回值。此表单使用POST方法,这意味着发送的信息对用户来说是不可见的,并且对对所发送信息的量没有限制(可发送大量的信息)。
<html>
<body>
<form action="/example.mde/demo.mde_simpleform1.md" method="post">
First name:
<input type="text" name="fname" value="Donald" />
<br />
Last name:
<input type="text" name="lname" value="Duck" />
<br />
<input type="submit" value="Submit" />
</form>
<%
Response.Write(Request.Form)
%>
</body>
</html>
如何使用来自表单的信息
本例演示如何使用从表单取回的信息。我们使用了Form集合。表单使用了POST方法。
<html>
<body>
<form action="/example.mde/demo.mde_simpleform.md" method="post">
您的姓名:<input type="text" name="fname" size="20" />
<input type="submit" value="提交" />
</form>
<%
dim fname
fname=Request.Form("fname")
If fname<>"" Then
Response.Write("您好!" & fname & "!<br />")
Response.Write("今天过得怎么样?")
End If
%>
</body>
</html>
来自表单的更多信息
本例演示假如若干的输入域使用了相同的名称,Form集合会包含什么信息。它将展示如何把这些相同的名称分割开来。它也会展示如何使用count关键词来对"name"属性进行计数。此表单使用POST方法。
<html>
<body>
<form action="/example.mde/demo.mde_form2.md" method="post">
First name:
<input type="text" name="name" value="Donald" />
<br />
Last name:
<input type="text" name="name" value="Duck" />
<br />
<input type="submit" value="Submit" />
</form>
<hr />
<p>来自上面的表单的信息:</p>
<%
If Request.Form("name")<>"" Then
Response.Write("<p>")
Response.Write("name=" & Request.Form("name"))
Response.Write("</p><p>")
Response.Write("name 属性的数目:")
Response.Write(Request.Form("name").Count)
Response.Write("</p><p>")
Response.Write("First name=" & Request.Form("name")(1))
Response.Write("</p><p>")
Response.Write("Last name=" & Request.Form("name")(2))
Response.Write("</p>")
End if
%>
</body>
</html>
带有单选按钮的表单
本例演示如何使用Form集合通过单选按钮与用户进行交互。此表单使用POST方法。
<html>
<%
dim cars
cars=Request.Form("cars")
%>
<body>
<form action="/example.mde/demo.mde_radiob.md" method="post">
<p>请选择您喜欢的汽车:</p>
<input type="radio" name="cars"
<%if cars="Volvo" then Response.Write("checked")%>
value="Volvo">Volvo</input>
<br />
<input type="radio" name="cars"
<%if cars="Saab" then Response.Write("checked")%>
value="Saab">Saab</input>
<br />
<input type="radio" name="cars"
<%if cars="BMW" then Response.Write("checked")%>
value="BMW">BMW</input>
<br /><br />
<input type="submit" value="提交" />
</form>
<%
if cars<>"" then
Response.Write("<p>您喜欢的汽车是" & cars & "</p>")
end if
%>
</body>
</html>
带有复选按钮的表单
本例演示如何使用Form集合通过复选按钮与用户进行交互。此表单使用POST方法。
<html>
<body>
<%
fruits=Request.Form("fruits")
%>
<form action="/example.mde/demo.mde_checkboxes.md" method="post">
<p>您喜欢哪些水果:</p>
<input type="checkbox" name="fruits" value="Apples"
<%if instr(fruits,"Apple") then Response.Write("checked")%>>
Apple
<br />
<input type="checkbox" name="fruits" value="Oranges"
<%if instr(fruits,"Oranges") then Response.Write("checked")%>>
Orange
<br />
<input type="checkbox" name="fruits" value="Bananas"
<%if instr(fruits,"Banana") then Response.Write("checked")%>>
Banana
<br />
<input type="submit" value="提交">
</form>
<%
if fruits<>"" then%>
<p>您喜欢:<%Response.Write(fruits)%></p>
<%end if
%>
</body>
</html>
其他实例
取得用户信息
如何查明访问者的浏览器类型、IP地址等信息
<html>
<body>
<p>
<b>您正在通过这款浏览器访问我们的站点:</b>
<%Response.Write(Request.ServerVariables("http_user_agent"))%>
</p>
<p>
<b>您的 IP 地址是:</b>
<%Response.Write(Request.ServerVariables("remote_addr"))%>
</p>
<p>
<b>IP 地址的 DNS 查询是:</b>
<%Response.Write(Request.ServerVariables("remote_host"))%>
</p>
<p>
<b>调用该页面所用的方法是:</b>
<%Response.Write(Request.ServerVariables("request_method"))%>
</p>
<p>
<b>服务器的域名:</b>
<%Response.Write(Request.ServerVariables("server_name"))%>
</p>
<p>
<b>服务器的端口:</b>
<%Response.Write(Request.ServerVariables("server_port"))%>
</p>
<p>
<b>服务器的软件:</b>
<%Response.Write(Request.ServerVariables("server_software"))%>
</p>
</body>
</html>
取得服务器变量
本例演示如何使用ServerVariables集合取得访问者的浏览器类型、IP地址等信息。
<html>
<body>
<p>
所有可能的服务器变量:
</p>
<%
For Each Item in Request.ServerVariables
Response.Write(Item & "<br />")
Next
%>
</body>
</html>
创建welcome cookie
本例演示如何使用Cookies集合创建一个欢迎cookie。
<%
dim numvisits
response.cookies("NumVisits").Expires=date+365
numvisits=request.cookies("NumVisits")
if numvisits="" then
response.cookies("NumVisits")=1
response.write("欢迎!这是您第一次访问本页面。")
else
response.cookies("NumVisits")=numvisits+1
response.write("之前,您已经访问过本页面 ")
response.write(numvisits & " 次。")
end if
%>
<html>
<body>
</body>
</html>
探测用户发送的字节总数
本例演示如何使用TotalBytes属性来取得用户在Request对象中发送的字节总数。
<html>
<body>
<form action="/example.mde/demo.mde_totalbytes.md" method="post">
请键入一些字符:
<input type="text" name="txt"><br /><br />
<input type="submit" value="提交">
</form>
<%
If Request.Form("txt")<>"" Then
Response.Write("您提交了:")
Response.Write(Request.Form)
Response.Write("<br /><br />")
Response.Write("字节总计:")
Response.Write(Request.Totalbytes)
End If
%>
</body>
</html>
Session 对象
设置并返回 LCID
本例演示 "LCID" 属性。此属性设置并返回一个指明位置或者地区的整数。类似于日期、时间以及货币等内容都要根据位置或者地区来显示。
<html>
<body>
<%
response.write("<p>")
response.write("本页的默认 LCID 是:" & Session.LCID & "<br />")
response.write("上面的 LCID 的日期格式是:" & date() & "<br />")
response.write("上面的 LCID 的货币格式是:" & FormatCurrency(350))
response.write("</p>")
Session.LCID=1036
response.write("<p>")
response.write("现在 LCID 变更为:" & Session.LCID & "<br />")
response.write("上面的 LCID 的日期格式是:" & date() & "<br />")
response.write("上面的 LCID 的货币格式是:" & FormatCurrency(350))
response.write("</p>")
Session.LCID = 3079
response.write("<p>")
response.write("现在 LCID 变更为:" & Session.LCID & "<br />")
response.write("上面的 LCID 的日期格式是:" & date() & "<br />")
response.write("上面的 LCID 的货币格式是:" & FormatCurrency(350))
response.write("</p>")
Session.LCID = 2057
response.write("<p>")
response.write("现在 LCID 变更为:" & Session.LCID & "<br />")
response.write("上面的 LCID 的日期格式是:" & date() & "<br />")
response.write("上面的 LCID 的货币格式是:" & FormatCurrency(350))
response.write("</p>")
%>
</body>
</html>
返回SessionID
本例演示 "SessionID" 属性。该属性为每位用户返回一个唯一的 id。这个 id 由服务器生成。
<html>
<body>
<%
Response.Write(Session.SessionID)
%>
</body>
</html>
session 的超时
本例演示 "Timeout" 属性。这个例子设置并返回 session 的超时时间(分钟)。
<html>
<body>
<%
response.write("<p>")
response.write("默认 Timeout 是:" & Session.Timeout & " 分钟。")
response.write("</p>")
Session.Timeout=30
response.write("<p>")
response.write("现在的 Timeout 是 " & Session.Timeout & " 分钟。")
response.write("</p>")
%>
</body>
</html>
Server 对象
此文件最后被修改的时间是?
探测文件的最后更新时间。
<html>
<body>
<%
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set rs = fs.GetFile(Server.MapPath("/example.mde/demo.mde_lastmodified.md"))
modified = rs.DateLastModified
%>
本文件的最后修改时间是:<%response.write(modified)
Set rs = Nothing
Set fs = Nothing
%>
</body>
</html>
打开并读取某个文本文件
本例会打开文件"Textfile.txt"以供读取。
<html>
<body>
<%
Set FS = Server.CreateObject("Scripting.FileSystemObject")
Set RS = FS.OpenTextFile(Server.MapPath("/example.mde") & "\textfile.txt",1)
While not rs.AtEndOfStream
Response.Write RS.ReadLine
Response.Write("<br />")
Wend
%>
<p>
<a href="/example.mde/textfile.txt">查看此文本文件</a>
</p>
</body>
</html>
自制的点击计数器
本例可从某文件中读取一个数字,并在此数字上累加1,然后将此数写回这个文件。
<%
Set FS=Server.CreateObject("Scripting.FileSystemObject")
Set RS=FS.OpenTextFile(Server.MapPath("/example.mde/counter.txt"), 1, False)
fcount=RS.ReadLine
RS.Close
fcount=fcount+1
'This code is disabled due to the write access security on our server:
'Set RS=FS.OpenTextFile(Server.MapPath("counter.txt"), 2, False)
'RS.Write fcount
'RS.Close
Set RS=Nothing
Set FS=Nothing
%>
<html>
<body>
<p>
本页已被访问了 <%=fcount%> 次。
</p>
</body>
</html>
FileSystemObject 对象
指定的文件存在吗?
本例演示如何首先创建FileSystemObject对象,然后使用FileExists方法来探测某文件是否存在。
<html>
<body>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
If (fs.FileExists("c:\windows\cursors\xxx.cur"))=true Then
Response.Write("文件 c:\windows\cursors\xxx.cur 存在。")
Else
Response.Write("文件 c:\windows\cursors\xxx.cur 不存在。")
End If
set fs=nothing
%>
</body>
</html>
指定的文件夹存在吗?
本例演示如何使用FolderExists方法探测某文件夹是否存在。
<html>
<body>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
If fs.FolderExists("c:\temp") = true Then
Response.Write("文件夹 c:\temp 存在。")
Else
Response.Write("文件夹 c:\temp 不存在。")
End If
set fs=nothing
%>
</body>
</html>
指定的驱动器存在吗?
本例演示如何使用DriveExists方法来探测某个驱动器是否存在。
<html>
<body>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
if fs.driveexists("c:") = true then
Response.Write("驱动器 c: 存在。")
Else
Response.Write("驱动器 c: 不存在。")
End If
Response.write("<br />")
if fs.driveexists("g:") = true then
Response.Write("驱动器 g: 存在。")
Else
Response.Write("驱动器 g: 不存在。")
End If
set fs=nothing
%>
</body>
</html>
取得某个指定驱动器的名称
本例演示如何使用GetDriveName方法来取得某个指定的驱动器的名称。
<html>
<body>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
p=fs.GetDriveName("c:\windows\cursors\abc.cur")
Response.Write("驱动器名称是:" & p)
set fs=nothing
%>
</body>
</html>
取得某个指定路径的父文件夹的名称
本例演示如何使用GetParentFolderName方法来取得某个指定的路径的父文件夹的名称。
<html>
<body>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
p=fs.GetParentFolderName("c:\winnt\cursors\3dgarro.cur")
Response.Write("c:\windows\cursors\abc.cur 的父文件夹名称是:" & p)
set fs=nothing
%>
</body>
</html>
取得文件夹扩展名
本例演示如何使用GetExtensionName方法来取得指定的路径中的最后一个成分的文件扩展名。
<html>
<body>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Response.Write("文件 3dgarro 的文件扩展名是:")
Response.Write(fs.GetExtensionName("c:\windows\cursors\abc.cur"))
set fs=nothing
%>
</body>
</html>
取得文件名
本例演示如何使用GetFileName方法来取得指定的路径中的最后一个成分的文件名。
<html>
<body>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Response.Write("这个文件名的最后一个成分是:")
Response.Write(fs.GetFileName("c:\windows\cursors\abc.cur"))
set fs=nothing
%>
</body>
</html>
取得文件或文件夹的基名称
本例演示如何使用GetBaseName方法来返回在指定的路径中文件或者文件夹的基名称。
<html>
<body>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Response.Write(fs.GetBaseName("c:\windows\cursors\abc.cur"))
Response.Write("<br />")
Response.Write(fs.GetBaseName("c:\windows\cursors\"))
Response.Write("<br />")
Response.Write(fs.GetBaseName("c:\windows\"))
set fs=nothing
%>
</body>
</html>
TextStream 对象
读文件
本例演示如何使用FileSystemObject的OpenTextFile方法来创建一个TextStream 对象。TextStream 对象的ReadAll方法会从已打开的文本文件中取得内容。
<html>
<body>
<p>这就是文本文件中的文本:</p>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile(Server.MapPath("/example.mde/testread.txt"), 1)
Response.Write(f.ReadAll)
f.Close
Set f=Nothing
Set fs=Nothing
%>
</body>
</html>
读文本文件中的一个部分
本例演示如何仅仅读取一个文本流文件的部分内容。
<html>
<body>
<p>这是从文本文件中读取的前 5 个字符:</p>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
Response.Write(f.Read(5))
f.Close
Set f=Nothing
Set fs=Nothing
%>
</body>
</html>
读文本文件中的一行
本例演示如何从一个文本流文件中读取一行内容。
<html>
<body>
<p>这是从文本文件中读取的第一行:</p>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
Response.Write(f.ReadLine)
f.Close
Set f=Nothing
Set fs=Nothing
%>
</body>
</html>
读取文本文件的所有行
本例演示如何从文本流文件中读取所有的行。
<html>
<body>
<p>这是从文本文件中读取的所有行:</p>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
do while f.AtEndOfStream = false
Response.Write(f.ReadLine)
Response.Write("<br />")
loop
f.Close
Set f=Nothing
Set fs=Nothing
%>
</body>
</html>
略过文本文件的一部分
本例演示如何在读取文本流文件时跳过指定的字符数。
<html>
<body>
<p>文本文件中的前 4 个字符被略掉了:</p>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
f.Skip(4)
Response.Write(f.ReadAll)
f.Close
Set f=Nothing
Set fs=Nothing
%>
</body>
</html>
略过文本文件的一行
本例演示如何在读取文本流文件时跳过一行。
<html>
<body>
<p>文本文件中的第一行被略掉了:</p>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
f.SkipLine
Response.Write(f.ReadAll)
f.Close
Set f=Nothing
Set fs=Nothing
%>
</body>
</html>
返回行数
本例演示如何返回在文本流文件中的当前行号。
<html>
<body>
<p>这是文本文件中的所有行(带有行号):</p>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
do while f.AtEndOfStream = false
Response.Write("Line:" & f.Line & " ")
Response.Write(f.ReadLine)
Response.Write("<br />")
loop
f.Close
Set f=Nothing
Set fs=Nothing
%>
</body>
</html>
取得列数
本例演示如何取得在文件中当前字符的列号。
<html>
<body>
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile(Server.MapPath("testread.txt"), 1)
Response.Write(f.Read(2))
Response.Write("<p>指针目前位于文本文件中的位置 " & f.Column & "。</p>")
f.Close
Set f=Nothing
Set fs=Nothing
%>
</body>
</html>
Drive 对象
取得指定驱动器的可用空间数
本例演示如何首先创建一个FileSystemObject对象,然后使用AvailableSpace属性来获得指定驱动器的可用空间。
<html>
<body>
<%
Dim fs, d, n
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set d=fs.GetDrive("c:")
n = "驱动器:" & d
n = n & "<br />以字节计的可用空间:" & d.AvailableSpace
Response.Write(n)
set d=nothing
set fs=nothing
%>
</body>
</html>
取得指定驱动器的剩余空间容量
本例演示如何使用FreeSpace空间属性来取得指定驱动器的剩余空间。
<html>
<body>
<%
Dim fs, d, n
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set d=fs.GetDrive("c:")
n = "驱动器:" & d
n = n & "<br />以字节计的剩余空间:" & d.FreeSpace
Response.Write(n)
set d=nothing
set fs=nothing
%>
</body>
</html>
取得指定驱动器的总容量
本例演示如何使用TotalSize属性来获得指定驱动器的总容量。
<html>
<body>
<%
Dim fs,d,n
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set d=fs.GetDrive("c:")
n = "驱动器:" & d
n = n & "<br />以字节计的总容量:" & d.TotalSize
Response.Write(n)
set d=nothing
set fs=nothing
%>
</body>
</html>
取得指定驱动器的驱动器字母
本例演示如何使用DriveLetter属性来获得指定驱动器的驱动器字母。
<html>
<body>
<%
dim fs, d, n
set fs=Server.CreateObject("Scripting.FileSystemObject")
set d=fs.GetDrive("c:")
Response.Write("驱动器字母是:" & d.driveletter)
set d=nothing
set fs=nothing
%>
</body>
</html>
取得指定驱动器的驱动器类型
本例演示如何使用DriveType属性来获得指定驱动器的驱动器类型。
<html>
<body>
<%
dim fs, d, n
set fs=Server.CreateObject("Scripting.FileSystemObject")
set d=fs.GetDrive("c:")
Response.Write("驱动器类型是:" & d.DriveType)
set d=nothing
set fs=nothing
%>
</body>
</html>
取得指定驱动器的文件系统信息
本例演示如何使用FileSystem来取得指定驱动器的文件系统类型。
<html>
<body>
<%
dim fs, d, n
set fs=Server.CreateObject("Scripting.FileSystemObject")
set d=fs.GetDrive("c:")
Response.Write("文件系统是:" & d.FileSystem)
set d=nothing
set fs=nothing
%>
</body>
</html>
驱动器是否已就绪?
本例演示如何使用IsReady属性来检查指定的驱动器是否已就绪。
<html>
<body>
<%
dim fs,d,n
set fs=Server.CreateObject("Scripting.FileSystemObject")
set d=fs.GetDrive("c:")
n = "此 " & d.DriveLetter
if d.IsReady=true then
n = n & " 驱动器已就绪。"
else
n = n & " 驱动器未就绪。"
end if
Response.Write(n)
set d=nothing
set fs=nothing
%>
</body>
</html>
取得指定驱动器的路径
本例演示如何使用Path属性来取得指定驱动器的路径。
<html>
<body>
<%
dim fs,d
set fs=Server.CreateObject("Scripting.FileSystemObject")
set d=fs.GetDrive("c:")
Response.Write("路径是:" & d.Path)
set d=nothing
set fs=nothing
%>
</body>
</html>
取得指定驱动器的根文件夹
本例演示如何使用RootFolder属性来取得指定驱动器的根文件夹。
<html>
<body>
<%
dim fs,d
set fs=Server.CreateObject("Scripting.FileSystemObject")
set d=fs.GetDrive("c:")
Response.Write("根文件是:" & d.RootFolder)
set d=nothing
set fs=nothing
%>
</body>
</html>
取得指定驱动器的序列号
本例演示如何使用Serialnumber属性来取得指定驱动器的序列号。
<html>
<body>
<%
dim fs,d
set fs=Server.CreateObject("Scripting.FileSystemObject")
set d=fs.GetDrive("c:")
Response.Write("序列号:" & d.SerialNumber)
set d=nothing
set fs=nothing
%>
</body>
</html>
File 对象
文件何时被创建?
本例演示如何首先创建FileSystemObject对象,然后使用File对象的DateCreated属性来取得指定文件被创建的日期和时间。
<html>
<body>
<%
dim fs, f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.GetFile(Server.MapPath("testread.txt"))
Response.Write("文件 testread.txt 的创建时间是:" & f.DateCreated)
set f=nothing
set fs=nothing
%>
</body>
</html>
此文件何时被修改?
本例演示如何使用DateLastModified属性来取得指定文件被修改的日期和时间。
<html>
<body>
<%
dim fs, f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.GetFile(Server.MapPath("testread.txt"))
Response.Write("文件 testread.txt 的最后修改时间是:" & f.DateLastModified)
set f=nothing
set fs=nothing
%>
</body>
</html>
此文件何时被访问过?
此例演示如何使用DateLastAccessed属性来取得指定文件最后被访问的日期和时间。
<html>
<body>
<%
dim fs, f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.GetFile(Server.MapPath("testread.txt"))
Response.Write("文件 testread.txt 的最后访问时间是:" & f.DateLastAccessed)
set f=nothing
set fs=nothing
%>
</body>
</html>
返回指定文件的属性
本例演示如何使用Attributes来返回指定文件的属性。
<html>
<body>
<%
dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.GetFile(Server.MapPath("testread.txt"))
Response.Write("文件 testread.txt 的属性是:" & f.Attributes)
set f=nothing
set fs=nothing
%>
</body>
</html>
Dictionary 对象
指定的键存在吗?
本例演示如何受首先创建一个Dictionary对象,然后使用Exists方法来检查指定的键是否存在。
<html>
<body>
<%
dim d
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "c", "China"
d.Add "i", "Italy"
if d.Exists("c")= true then
Response.Write("键存在。")
else
Response.Write("键不存在。")
end if
set d=nothing
%>
</body>
</html>
返回一个所有项目的数组
本例演示如何使用Items方法来返回所有项目的一个数组。
<html>
<body>
<%
dim d,a,i,s
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "c", "China"
d.Add "i", "Italy"
Response.Write("<p>项目的值是:</p>")
a=d.Items
for i = 0 To d.Count -1
s = s & a(i) & "<br />"
next
Response.Write(s)
set d=nothing
%>
</body>
</html>
返回一个所有键的数组
本例演示如何使用Keys方法来返回所有键的一个数组。
<html>
<body>
<%
dim d,a,i,s
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "c", "China"
d.Add "i", "Italy"
Response.Write("<p>键的值是:</p>")
a=d.Keys
for i = 0 To d.Count -1
s = s & a(i) & "<br />"
next
Response.Write(s)
set d=nothing
%>
</body>
</html>
返回某个项目的值
本例演示如何使用Item属性来返回某个项目的值。
<html>
<body>
<%
dim d
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "c", "China"
d.Add "i", "Italy"
Response.Write("项目 i 的值是:" & d.item("i"))
set d=nothing
%>
</body>
</html>
设置一个键
本例演示如何使用Key属性来在Dictionary对象中设置一个键。
<html>
<body>
<%
dim d
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "c", "China"
d.Add "i", "Italy"
d.Key("i") = "it"
Response.Write("键 i 已设置为 it,其值是:" & d.Item("it"))
set d=nothing
%>
</body>
</html>
返回键/项目对的数目
本例演示如何使用Count属性来返回键/项目对的数目。
<html>
<body>
<%
dim d, a, s, i
set d=Server.CreateObject("Scripting.Dictionary")
d.Add "c", "China"
d.Add "i", "Italy"
Response.Write("key/item 对的数目是:" & d.Count)
set d=nothing
%>
</body>
</html>
AdRotator 组件
简单的AdRotator实例
本例展示:每当用户访问网站或者刷新一次页面,如何使用AdRotator组件来显示一幅不同的广告图像。
<html>
<body>
<%
set adrotator=Server.CreateObject("MSWC.AdRotator")
adrotator.Border="2"
Response.Write(adrotator.GetAdvertisement("/example.mde/advertisements.txt"))
%>
<p>
<b>注释:</b>由于图像是随机变化的,
同时由于本页可供选择的图片很少,
因此经常会出现两次显示同一广告的情况。
</p>
<p>
<a href="/example.mde/advertisements.txt">
查看 advertisements.txt
</a>
</p>
</body>
</html>
AdRotator ### 图片链接
本例展示:每当用户访问网站或者刷新一次页面,如何使用AdRotator组件来显示一幅不同的广告图像。此外,图片本身就是链接。
<%
url=Request.QueryString("url")
If url<>"" then Response.Redirect(url)
%>
<html>
<body>
<%
set adrotator=Server.CreateObject("MSWC.AdRotator")
adrotator.TargetFrame="target='_blank'"
response.write(adrotator.GetAdvertisement("/example.mde/advertisements2.txt"))
%>
<p>
<b>注释:</b>由于图像是随机变化的,
同时由于本页可供选择的图片很少,
因此经常会出现两次显示同一广告的情况。
</p>
<p>
<a href="/example.mde/advertisements2.txt">
查看 advertisements2.txt
</a>
</p>
</body>
</html>
Browser Capabilities 组件
Browser Capabilities 组件
本例演示如何测定每一个访问网站的浏览器的类型、性能以及版本号。
<html>
<body>
<%
Set MyBrow=Server.CreateObject("MSWC.BrowserType")
%>
<table border="1" width="65%">
<tr>
<td width="52%">客户机操作系统</td>
<td width="48%"><%=MyBrow.platform%></td>
</tr>
<tr>
<td >Web 浏览器</td>
<td ><%=MyBrow.browser%></td>
</tr>
<tr>
<td>浏览器版本</td>
<td><%=MyBrow.version%></td>
</tr>
<tr>
<td>框架支持</td>
<td><%=MyBrow.frames%></td>
</tr>
<tr>
<td>表格支持</td>
<td><%=MyBrow.tables%></td>
</tr>
<tr>
<td>音频支持</td>
<td><%=MyBrow.backgroundsounds%></td>
</tr>
<tr>
<td>Cookies 支持</td>
<td><%=MyBrow.cookies%></td>
</tr>
<tr>
<td>VBScript 支持</td>
<td><%=MyBrow.vbscript%></td>
</tr>
<tr>
<td>JavaScript 支持</td>
<td><%=MyBrow.javascript%></td>
</tr>
</table>
</body>
</html>
Content Linking 组件
Content Linking 组件
本例会构建一个内容列表。
<html>
<body>
<p>下面的例子构建了一个内容列表:</p>
<%
dim c
dim i
set nl=server.createobject("MSWC.Nextlink")
c = nl.GetListCount("/example.mde/links.txt")
i = 1
%>
<ul>
<%do while (i <= c) %>
<li><a href="<%=nl.GetNthURL("/example.mde/links.txt", i)%>">
<%=nl.GetNthDescription("/example.mde/links.txt", i)%></a>
<%
i = (i + 1)
loop
%>
</ul>
<p>文本文件包含页面 URL 的列表和链接描述。
每行文本针对一个页面。
请注意,URL 和描述必须由 TAB 字符分隔。
</p>
<p>
<a href="/example.mde/links.txt">查看 links.txt</a>
</p>
</body>
</html>
Content Linking 组件 2
本例使用Content Linking 组件在一个文本文件所列的页面间进行导航。
<html>
<body>
<h1>这是页面 1</h1>
<%
Set nl=Server.CreateObject("MSWC.NextLink")
If (nl.GetListIndex("/example.mde/links2.txt")>1) Then
%>
<a href="<%Response.Write(nl.GetPreviousURL("/example.mde/links2.txt"))%>">
上一页
</a>
<%End If%>
<a href="<%Response.Write(nl.GetNextURL("/example.mde/links2.txt"))%>">
下一页
</a>
<p>本例使用 Content Linking 组件
对文本文件中的 URL 进行导航。</p>
<p><a href="/example.mde/links2.txt">查看 links2.txt</a></p>
</body>
</html>
Content Rotator (ASP 3.0)
Content Rotator 组件
每当用户访问或者刷新页面时,该组件就会显示不同的HTML内容字符串。
<html>
<body>
<p><b>注释:</b>如果服务器未安装 ASP 3.0,则本例无法运行。</p>
<p>
<a href="/example.mde/textads.md">查看 textads.txt</a>
</p>
<%
set cr=server.createobject("MSWC.ContentRotator")
response.write(cr.ChooseContent("/example.mde/textads.txt"))
%>
<p>
<b>注释:</b>由于文本文件中的内容字符串是随机改变的,
同时本页只有四条内容可供选择,
因此,有时页面会连续显示两次相同的内容。
</p>
</body>
</html>