ASP动态网页课程设计说明书(8)

2020-06-03 13:26

3.5.5 任务5:在线提问网站设置

任务5描述:为图书馆网站增添“在线提问”功能,用户访问在线提问时,将会出现问题输入与提交网页。用户输入问题后单击“提交”按钮,如果提交成功将会出现提示网页。如果用户输入问题时,有的项没有填写,将会出现提示的网页。在网页上单击“问题浏览”超链接,将会出现问题显示网页,显示出所有用户提交的问题。如图15。

图15 在线提问 任务分析:

可使用一个文本文件存放用户提交的问题。问题提交网页可通过表单来实现,在表单处理程序中判断用户输入的信息是否有空项,如果有空项,则要求重输。如果没有空项,则根据用户输入的各项信息,形成符合问题显示格式的文本,添加到存放问题的文本文件中。当要浏览用户提交的问题时,只需要把该文本文件显示出来即可。

在线提问

在线提问
任务实现:

(1)启动记事本,在记事本中输入如下代码,并把它保存为“主页_在线提问.asp”。 (2)再次启动记事本,在记事本中输入如下代码,并把它保存为AddAdvice.asp。

添加问题 <%

' 定义相关变量、文件系统对象等

Dim YourName, DepartMent, Subject, Telephone,Advice

Dim StrYourName,StrDepartment,StrSubject,StrTelephone,StrAdvice,StrTime,StrTemp Dim objFSO, objFIn, objFOut Dim FileName, BakFileName

' 获取由Task5_3.asp页面传送过来的表单数据 YourName = Request.Form(\ '获取姓名 Telephone=Request.Form(\ '获取电话号码 Advice = Request.Form(\ '获取问题

' 判断输入内容是否均不为空,如有一项为空,则回到Task5_3.asp页面重新输入 If YourName = \

Response.Write \对不起,所有项均不能为空白!

\Response.Write \返回在线提问\Response.End ' 程序结束,以下语句不再执行 End If %>

(3)在上述ASP代码块的后面继续添加如下代码并保存。 ' 以下几条语句,分别以字符串的形式,生成输入问题的各项信息 StrYourName = \问题人:\StrSubject = \主 题:\StrTelephone =\电话号码:\StrAdvice = Replace(Advice, vbCrLf, \

StrTemp = \问题:
\ StrAdvice = StrTemp & StrAdvice & \StrTime = \时 间:\

(4)在上述ASP代码块的后面继续添加如下代码并保存。 ' 创建文件系统对象,以便进行文件的读写

Set objFSO = Server.CreateObject(\

' 获取Advice.txt(存放问题的文件)和BakAdvice.txt(问题备份文件)文件的物理路径

FileName = Server.MapPath(\BakFileName = Server.MapPath(\ 说明:

①上述代码首先调用Server对象的CreateObject方法生成文件系统对象,然后调用Sever对象的MapPath方法得到存放问题的文件“Advice.txt”的物理路径和问题备份文件“BakAdvice.txt”的物理路径。

②要对文件或目录进行存取操作,必须使用FileSystemObject对象,创建该对象的一般格式如下。

变量名= Server.CreateObject(\

其中变量名是指存放FileSystemObject对象实例的变量。

③上述代码中语句“Server.MapPath(\的作用是获取当前文件夹下的文件Advice.txt的物理路径。当在网页中需要打开、复制或删除一个与网页文件处于同一个目录,或处于Web站点的某一目录中的文件时,需要知道该文件所在的物理目录,此时需使用Server对象的MapPath方法把虚拟路径映射成对应的物理路径。该方法的一般格式如下:

Server.MapPath(\虚拟路径\

它将求出虚拟路径所对应的物理路径。

(5)在上述ASP代码块的后面继续添加如下代码并保存。 ' 将信息写入文件前,要将本进程锁定 Application.Lock

'判断存放问题的文件是否存在,若存在则把它改名为问题备份文件 if objFSO.FileExists(FileName) then objFSO.MoveFile FileName, BakFileName end if

' 打开问题备份文件,创建存放问题的文件 Set objFIn = objFSO.OpenTextFile(BakFileName, , True) Set objFOut = objFSO.CreateTextFile(FileName) ' 先将本次留言内容写到Advice.txt文件中 objFOut.WriteLine StrYourName objFOut.WriteLine StrDepartment objFOut.WriteLine StrSubject objFOut.WriteLine StrTelephone objFOut.WriteLine StrAdvice objFOut.WriteLine StrTime objFOut.WriteLine \

' 如果BakAdvice.txt文件非空,则将其内容再复制到Advice.txt文件中 if not objFIn.AtEndOfStream then objFOut.WriteLine objFIn.ReadAll end if

' 在其后删除BakAdvice.txt文件之前,先关闭BakAdvice.txt文件

objFIn.Close

objFSO.DeleteFile BakFileName, True ' 解除对本进程的锁定 Application.UnLock

Response.Write \您的问题已提交,感谢您的支持,我们将尽快处理!

\

Response.Write \返回在线提问\ 说明:

①上述代码首先判断存放问题的文件是否存在,若存在则把它改名为问题备份文件。接着打开问题备份文件并创建存放问题的文件,然后把前面生成的客户问题的各项信息写到存放问题的文件中去,再向该文件中输出一个


标记。接着再把问题备份文件中的内容全部复制到问题文件中去。最后删除问题备份文件并显示出“问题正常提交”的提示信息,显示超链接供用户返回到问题输入与提交网页。

②上述代码中的代码“objFSO.FileExists(FileName)”、“objFSO.MoveFile FileName, BakFileName”和“objFSO.DeleteFile BakFileName, True”使用了文件系统对象与文件有关的方法FileExists、MoveFile 和DeleteFile,它们分别用来判断文件是否存在、移动文件和删除文件。

FileExists方法的一般调用格式如下:

文件系统对象变量名. FileExists(\文件物理路径\)

若“文件物理路径”指定的文件存在,则返回值为True,若“文件物理路径”指定的文件不存在,则返回值为False。

MoveFile方法的一般调用格式如下:

文件系统对象变量名. MoveFile(Source,Destination) DeleteFile方法的一般调用格式如下:

文件系统对象变量名. DeleteFile(\文件物理路径\,Force)

其作用是删除文件物理路径所指定的一个或多个文件(可包含文件通配符)。如果可选的参数Force值为True,那么也删除具有只读属性的文件,默认的Force参数值为False。

③上述代码中还使用了文件系统对象的OpenTextFile、CreateTextFile、WriteLine、ReadAll和Close等方法,并且还使用了文件系统对象的AtEndOfStream属性,它们都是与TextStream对象有关的方法和属性。


ASP动态网页课程设计说明书(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:反风演习技术报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: