1、ASP 网页设计小技巧摘要:本文介绍了用 ASP 进行网页设计过程中的几个小技巧,包括新闻栏的创建和自动更新,以及公告栏的创建、使用和维护。指明了解决此类问题的大致方法。Abstract: We introduce several tricks when using Active Server Pages to design homepages. These include the creation and automatic updating of news columns, as well as the creation, utilization and maintenance of bu
2、lletins. The general solutions to these problems are pointed out.关键词:ASP、新闻栏、公告栏ASP 是 Microsoft 公司推出的一种用以取代通用网关接口的技术,英文全称 Active Server Pages。它是一个 Web 服务器端的运行环境。ASP 本身包含了 VBScript 和 javascript 引擎,使得脚本可以直接嵌入 HTML 中。现将我们在 ASP 运用过程中的几个小技巧与大家分享。一、 新闻栏大多数网页上有新闻栏,用以显示最近新闻的主题,点击此主题即可查看详细报道。倘若每天都一条条写在网页上,再依
3、次建立链接太过麻烦。如何让其可以根据文件自动更新呢?1 预备工作:1) 建一个文件夹,起名为“news“,假设存于 D:/ASP/目录下;2) 把每条新闻的详细内容写入文件,且此文件的命名形式为:x (newstime).htm。其中 x 为此条新闻的主题,newstime 为此条新闻发布的时间(按年-月-日顺序写) 。为什么要这样写呢?看了下面的算法思想和源程序就知道了。2 算法思想:对于 news 文件夹中的文件,依据它们文件名中新闻发布的时间(即括号内的内容) ,从大到小排序。这样一来,最新的新闻排在最上面,只要在网页相应位置显示 news 文件夹中最上面的若干个文件名,因为文件名的命名
4、方式如 1 中所述,就可以在新闻栏中显示最新新闻了。3 源程序段(用 VBScript 编写的)% Dim fs, f, f1, fc, filenumdim countdim i,j,t1,t2dim file(100)dim mystr(100) 标志文件中日期的字符串count=0Set fs = CreateObject(“Scripting.FileSystemObject“)Set f = fs.GetFolder(“D:/ASP/news “)Set fc = f.Filesfor each f1 in fccount=count+1 计文件个数file(count)=fs.ge
5、tbasename(f1) 标记文件基名mypos=InStr(1, file(count), “(“) )在文件基名中的位置文件基名中的日期字符串 mystr(count) = Mid(file(count), mypos + 1, Len(file(count) - (mypos + 1)nextfor i=1 to countfor j=1 to count-iif mystr(j)mystr(j+1) thent1=file(j)file(j)=file(j+1file(j+1)=t1t2=mystr(j)mystr(j)=mystr(j+1)mystr(j+1)=t2end ifne
6、xtnextj=1 if count10 then 新闻栏中共显示 10 条新闻temcount=countelsetemcount=10end ifdo while j=temcount%a href=“file:/D:/ASP/news/%=file(j)%.htm“ target=“new_window“%=file(j)% /a%j=j+1loop%4 新闻栏内容更新:只要养成良好的书写习惯,使得新闻的名称遵照 1 的要求,再把写好的文件存入 news 文件夹,新闻栏就会自动显示出最新的 10 条新闻了。二、 公告栏除了新闻栏之外,较常用的就是公告栏了,公告栏主要用来显示一些重要的通知
7、。当然这些通知是要经常变化的。让用户每次更改公告内容时都到源程序里去修改吗?当然不行,我们必须提供一个维护的界面给用户,使得用户只要输入通知,网页上的公告栏里自然就会显示通知内容了。1. 解决这一问题的关键在于灵活应用 FileSystemObject 对象和TextStream 对象。在实际应用中,你无需自行建立 TextStream 对象,因为只要利用 FileSystemObject 对象打开了文件,系统便自动建立TextStream 对象。也就是说,一旦调用 OpenTextFile 或CreateTextFile 方法,便会传回 TextStream 对象。2. 所需相关文件有三个:
8、更新.asp、公告.asp、维护文本.txt,把它们存入 d:/ASP/maintain 目录下。3 三个文件的主要功能和源程序段:1) 更新.asp主要功能是让用户输入欲显示的公告,检验输入内容是否为空,若不为空,则提交给”公告.asp”程序处理。htmlheadmeta http-equiv=“Content-Type“ content=“text/html; charset=gb2312“meta name=“GENERATOR“ content=“Microsoft FrontPage 4.0“meta name=“ProgId“ content=“FrontPage.Editor.D
9、ocument“title更新公告栏内容/title/headbodyscript language=vbscriptfunction datacheck()dim msg,errflagerrflag=trueif len(trim(maintain.t1.value)=0 then focusto(0)errflag=falsemsg=“请输入需提交的公告内容“end ifif (errflag=false) thenmsgbox msg,64,“oh no!“ exit functionend ifdatacheck=errflagmaintain.submitend functions
10、ub focusto(x)document.maintain.elements(x).focus()end sub/scriptform method=“POST“ action=“公告.asp“ name=“maintain“pinput type=“text“ name=“t1“ size=“84“input type=“reset“ value=“重写“ name=“B2“input type=“button“ value=“提交“ name=“B1“ onclick=“datacheck()“/phr color=#FF99FF size=1 /form/body/html语句中的 a
11、ction=“公告.asp“部分,指出了在 form 提交后要启动的程序为“公告.asp” 。2) 公告.asp通过 FileSystemObject 对象和 TextScream 对象对“维护文本.txt“文件进行读写操作,使得此文件最上面 5 行的内容为要在公告栏里显示的公告。%dim strstr=request.form(t1)dim s(5)const forreading=1,forwriting=2dim fso,myfileset fso=server.createobject(“scripting.FileSystemObject“)set myfile=fso.opente
12、xtfile(“维护文本.txt“,forreading) 以 Reading 模式打开文件for i=1 to 5 公告栏共显示 5条公告s(i)=myfile.readline 读取文件内容nextmyfile.closeset myfile=fso.opentextfile(“维护文本.txt“,forwriting,true) 以 writing 模式打开文件myfile.writeline strfor i=1 to 4myfile.writeline s(i) 将数据写回文件nextmyfile.close%3) 维护文本.txt此文件开始为空,从”更新.asp”显示的界面输入公告
13、后,此文件内容被自动写入。4 在主页文件(通常是 default.asp)欲显示公告位置的代码段中加入如下代码,即可显示出更新后的公告。marquee scrollamount=“2“ scrolldelay=“50“ direction=“up“ width=“223“ height=“133“ id=“a“ onmouseover=“a.stop()“ onmouseout=“a.start()“ 公告栏上下滚动 % Dim s(20) Dim fso, MyFile Set fso = CreateObject(“Scripting.FileSystemObject“) Set MyFile = fso.OpenTextFile(“D:/ASP/maintain/维护文本.txt“,1,true) for i=1 to 5 ReadLineTextFile=MyFile.ReadLine s(i)=ReadLineTextFile response.write “ “ s(i) response.write “br“ next %/marquee上述两个小技巧举一反三,可以解决很多此类问题。网页设计爱好者们不妨一试。参考文献:1 飞思科技产品研发中心, “ASPSQL Server 网站设计与实现” , 电子工业出版社, 2001
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。