分享ASP网页开发过程中的小技巧
创始人
2024-08-02 18:50:29
0

ASP是Microsoft公司推出的一种用以取代通用网关接口的技术,英文全称Active Server Pages。它是一个Web服务器端的运行环境。ASP本身包含了VBScript和javascript引擎,使得脚本可以直接嵌入HTML中。现将我们在ASP运用过程中的几个小技巧与大家分享。

一、新闻栏

大多数网页上有新闻栏,用以显示最近新闻的主题,点击此主题即可查看详细报道。倘若每天都一条条写在网页上,再依次建立链接太过麻烦。如何让其可以根据文件自动更新呢?

1.预备工作

1)建一个文件夹,起名为"news",假设存于D:/ASP/目录下;

2)把每条新闻的详细内容写入文件,且此文件的命名形式为:x (newstime).htm。其中x为此条新闻的主题,newstime为此条新闻发布的时间(按年-月-日顺序写)。为什么要这样写呢?看了下面的算法思想和源程序就知道了。

2.算法思想

对于news文件夹中的文件,依据它们文件名中新闻发布的时间(即括号内的内  容),从大到小排序。这样一来,最新的新闻排在最上面,只要在网页相应位置显示 news文件夹中最上面的若干个文件名,因为文件名的命名方式如1中所述,就可以在新闻栏中显示最新新闻了。

3.源程序段(用VBScript编写的)

以下为引用的内容:

  1. <%   
  2. Dim fs, f, f1, fc, filenum  
  3. dim count  
  4. dim i,j,t1,t2  
  5. dim file(100)  
  6. dim mystr(100) '标志文件中日期的字符串  
  7. count=0  
  8. Set fs = CreateObject("Scripting.FileSystemObject")  
  9. Set f = fs.GetFolder("D:/ASP/news ")  
  10. Set fc = f.Files  
  11. for each f1 in fc  
  12. count=count+1 '计文件个数  
  13. file(count)=fs.getbasename(f1) '标记文件基名  
  14. mypos=InStr(1, file(count), "(") ')在文件基名中的位置  
  15. '文件基名中的日期字符串   
  16. mystr(count) = Mid(file(count), mypos + 1, Len(file(count)) - (mypos + 1))  
  17. next  
  18. for i=1 to count  
  19. for j=1 to count-i  
  20. if mystr(j)
  21. t1=file(j)  
  22. file(j)=file(j+1  
  23. file(j+1)=t1  
  24. t2=mystr(j)  
  25. mystr(j)=mystr(j+1)  
  26. mystr(j+1)=t2  
  27. end if  
  28. next  
  29. next  
  30. j=1   
  31. if count<10 then '新闻栏中共显示10条新闻  
  32. temcount=count  
  33. else  
  34. temcount=10  
  35. end if  
  36. do while j<=temcount%>  
  37. .htm" target="new_window"><%=file(j)%>   
  38. <%  
  39. j=j+1  
  40. loop  
  41. %>  

4.新闻栏内容更新

只要养成良好的书写习惯,使得新闻的名称遵照1的要求,再把写好的文件存入news文件夹,新闻栏就会自动显示出最新的10条新闻了。

二、公告栏

除了新闻栏之外,较常用的就是公告栏了,公告栏主要用来显示一些重要的通知。当然这些通知是要经常变化的。让用户每次更改公告内容时都到源程序里去修改吗?当然不行,我们必须提供一个维护的界面给用户,使得用户只要输入通知,网页上的公告栏里自然就会显示通知内容了。

1.解决这一问题的关键在于灵活应用FileSystemObject对象和TextStream对象。

在实际应用中,你无需自行建立TextStream对象,因为只要利用FileSystemObject对象打开了文件,系统便自动建立TextStream对象。也就是说,一旦调用OpenTextFile或CreateTextFile方法,便会传回TextStream对象。

2.所需相关文件有三个

更新.asp、公告.asp、维护文本.txt,把它们存入d:/ASP/maintain目录下。

3.三个文件的主要功能和源程序段:

1)更新.asp

主要功能是让用户输入欲显示的公告,检验输入内容是否为空,若不为空,则提交给”公告.asp”程序处理。

以下为引用的内容:

  1.  
  2.  
  3.  
  4.  
  5.  
  6. 更新公告栏内容  
  7.  
  8.  
  9.  
  10. function datacheck()  
  11. dim msg,errflag  
  12. errflag=true  
  13. if len(trim(maintain.t1.value))=0 then   
  14. focusto(0)  
  15. errflag=false  
  16. msg="请输入需提交的公告内容" 
  17. end if  
  18. if (errflag=false) then  
  19. msgbox msg,64,"oh no!"   
  20. exit function  
  21. end if  
  22. datacheck=errflag  
  23. maintain.submit  
  24. end function  
  25. sub focusto(x)  
  26. document.maintain.elements(x).focus()  
  27. end sub  
  28.  
  29.  
  30.  

  31.  
  32.    
  33.  
  34.  
  35.  

语句①中的action="公告.asp"部分,指出了在form提交后要启动的程序为“公告.asp”。

2)公告.asp

通过FileSystemObject对象和TextScream对象对"维护文本.txt"文件进行读写操作,使得此文件最上面5行的内容为要在公告栏里显示的公告。

以下为引用的内容:

  1. <%  
  2. dim str  
  3. str=request.form(t1)  
  4. dim s(5)  
  5. const forreading=1,forwriting=2  
  6. dim fso,myfile  
  7. set fso=server.createobject("scripting.FileSystemObject")  
  8. set myfile=fso.opentextfile("维护文本.txt",forreading)'以Reading模式打开文件  
  9. for i=1 to 5 '公告栏共显示5条公告  
  10. s(i)=myfile.readline'读取文件内容  
  11. next  
  12. myfile.close  
  13. set myfile=fso.opentextfile("维护文本.txt",forwriting,true) '以writing模式打开文件  
  14. myfile.writeline str  
  15. for i=1 to 4  
  16. myfile.writeline s(i) '将数据写回文件  
  17. next  
  18. myfile.close  
  19. %> 

3)维护文本.txt

此文件开始为空,从”更新.asp”显示的界面输入公告后,此文件内容被自动写入。

4.在主页文件(通常是default.asp)欲显示公告位置的代码段中加入如下代码,即可显示出更新后的公告。

以下为引用的内容:

  1. height="133" id="a" onmouseover="a.stop()" onmouseout="a.start()">'公告栏上下滚动  
  2. <%   
  3. Dim s(20)   
  4. Dim fso, MyFile   
  5. Set fso = CreateObject("Scripting.FileSystemObject")   
  6. Set MyFile = fso.OpenTextFile("D:/ASP/maintain/维护文本.txt",1,true)   
  7. for i=1 to 5   
  8. ReadLineTextFile=MyFile.ReadLine   
  9. s(i)=ReadLineTextFile   
  10. response.write "★ " & s(i)   
  11. response.write "
    "   
  12. next   
  13. %>  
  14.  

上述两个小技巧举一反三,可以解决很多此类问题。网页设计爱好者们不妨一试。

【编辑推荐】

  1. 详述Asp.net的加密解密技巧
  2. ASP.NET站点 应该从哪些方面优化
  3. 简单介绍Asp.net网站的性能优化
  4. ASP.NET网站性能优化 需要考虑哪些方面
  5. asp.net开源CMS汇总

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...