当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP网页开发过程中的几个小技巧

ASP
ASP正则表达式技巧
ASP Access实现网站计数器(访问量)
ASP新闻分页,将一篇过长的文章分页,生成静态页面
一些关于asp 购物车的想法
一个sql查询器,自动画表格填字段
ASP实现文件直接下载的代码
把网页中的(电话,qq等数字)生成图片的ASP程序
asp长文章用分页符来分页显示
Asp函数介紹(37个常用函数)
ASP中的面向对象类
分页实现方法的性能比较
asp ajax跨域提交数据
asp修改文件和文件夹的名字的代码
ASP 多关键词查询实例代码
asp被杀毒软件误删的解决方法
asp 多关键词搜索的简单实现方法
asp 根据IP地址自动判断转向分站的代码
asp dictionary对象的用法
ASP 千万级数据分页的存储过程
ASP隐藏真实文件的下载功能实现代码

ASP网页开发过程中的几个小技巧


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 165 ::
收藏到网摘: n/a

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编写的)

以下为引用的内容:
<%
Dim fs, f, f1, fc, filenum
dim count
dim i,j,t1,t2
dim file(100)
dim mystr(100)                  '标志文件中日期的字符串
count=0
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder("D:/ASP/news ")
Set fc = f.Files
           for each f1 in fc
                 count=count+1                  '计文件个数
                 file(count)=fs.getbasename(f1)                  '标记文件基名
                 mypos=InStr(1, file(count), "(")            ')在文件基名中的位置
                 '文件基名中的日期字符串
                 mystr(count) = Mid(file(count), mypos + 1, Len(file(count)) - (mypos + 1))
           next
     for i=1 to count
         for j=1 to count-i
         if mystr(j)<mystr(j+1) then
           t1=file(j)
           file(j)=file(j+1
           file(j+1)=t1
            t2=mystr(j)
            mystr(j)=mystr(j+1)
            mystr(j+1)=t2
         end if
         next
     next
j=1
if count<10 then          '新闻栏中共显示10条新闻
 temcount=count
else
 temcount=10
end if
do while j<=temcount%>
<a href="file:///D:/ASP/news/<%=file(j)%>.htm" target="new_window"><%=file(j)%> </a>
<%
j=j+1
loop
%>
  
4.新闻栏内容更新:

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

二、公告栏

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

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”显示的界面输入公告后,此文件内容被自动写入。

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>

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