首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

Request 对象, ASP 0102 (0x80004005),该如何解决

2012-03-11 
Request 对象, ASP 0102 (0x80004005)二、公告栏除了新闻栏之外,较常用的就是公告栏了,公告栏主要用来显示

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 ")

热点排行