- 爱易网页
-
ASP教程
- 高手帮忙,该如何处理
日期:2014-05-17 浏览次数:21047 次
高手帮忙
二、 公告栏
除了新闻栏之外,较常用的就是公告栏了,公告栏主要用来显示一些重要的通知。当然这些通知是要经常变化的。让用户每次更改公告内容时都到源程序里去修改吗?当然不行,我们必须提供一个维护的界面给用户,使得用户只要输入通知,网页上的公告栏里自然就会显示通知内容了。
1. 解决这一问题的关键在于灵活应用FileSystemObject对象和TextStream对象。在实际应用中,你无需自行建立TextStream对象,因为只要利用FileSystemObject对象打开了文件,系统便自动建立TextStream对象。也就是说,一旦调用OpenTextFile或CreateTextFile方法,便会传回TextStream对象。
2. 所需相关文件有三个:更新.asp、公告.asp、维护文本.txt,把它们存入d:/ASP/maintain目录下。
3. 三个文件的主要功能和源程序段:
1) 更新.asp
主要功能是让用户输入欲显示的公告,检验输入内容是否为空,若不为空,则提交给”公告.asp”程序处理。
<html>
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">
<meta name= "GENERATOR " content= "Microsoft FrontPage 4.0 ">
<meta name= "ProgId " content= "FrontPage.Editor.Document ">
<title> 更新公告栏内容 </title>
</head>
<body>
<script language=vbscript>
function datacheck()
dim msg,errflag
errflag=true
if len(trim(maintain.t1.value))=0 then
focusto(0)
errflag=false
msg= "请输入需提交的公告内容 "
end if
if (errflag=false) then
msgbox msg,64, "oh no! "
exit function
end if
datacheck=errflag
maintain.submit
end function
sub focusto(x)
document.maintain.elements(x).focus()
end sub
</script>
① <form method= "POST " action= "公告.asp " name= "maintain ">
<p> <input type= "text " name= "t1 " size= "84 "> <input type= "reset " value= "重写 " name= "B2 ">
<input type= "button " value= "提交 " name= "B1 " onclick= "datacheck() "> </p>
<hr color=#FF99FF size=1>
</form>
</body>
</html>
语句①中的action= "公告.asp "部分,指出了在form提交后要启动的程序为“公告.asp”。
2) 公告.asp
通过FileSystemObject对象和TextScream对象对 "维护文本.txt "文件进行读写操作,使得此文件最上面5行的内容为要在公告栏里显示的公告。
<%
dim str
str=request.form(t1)
dim s(5)
/////const forreading=1,forwriting=2
//////dim fso,myfile
16行////////set fso=server.createobject( "scripting.FileSystemObject ")
17行////////////set myfile=fso.opentextfile( "维护文本.txt ",forreading) '以Reading模式打开文件