读书人

Request 对象, ASP 0102 (0x80004005)

发布时间: 2012-03-11 18:15:38 作者: rapoo

Request 对象, ASP 0102 (0x80004005)
二、 公告栏
除了新闻栏之外,较常用的就是公告栏了,公告栏主要用来显示一些重要的通知。当然这些通知是要经常变化的。让用户每次更改公告内容时都到源程序里去修改吗?当然不行,我们必须提供一个维护的界面给用户,使得用户只要输入通知,网页上的公告栏里自然就会显示通知内容了。
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
set fso=server.createobject( "scripting.FileSystemObject ")
set myfile=fso.opentextfile( "维护文本.txt ",forreading) '以Reading模式打开文件
for i=1 to 5 '公告栏共显示5条公告


s(i)=myfile.readline '读取文件内容
next
myfile.close
set myfile=fso.opentextfile( "维护文本.txt ",forwriting,true) '以writing模式打开文件
myfile.writeline str
for i=1 to 4
myfile.writeline s(i) '将数据写回文件
next
myfile.close
%>
3) 维护文本.txt
此文件开始为空,从”更新.asp”显示的界面输入公告后,此文件内容被自动写入
..........................
.............................
..........................
我按上面的程序在更新里输入提交后,跳转到公告.asp时出现
Request 对象, ASP 0102 (0x80004005)
函数需要字符串输入。
/bondrise/公告.asp, 第 12 行
请大家看看哪里错了


[解决办法]
改为:request( "t1 ")

读书人网 >ASP

热点推荐