关于我们 广告服务 社区论坛
设为首页 加入收藏

行业新闻
服 务 器
模版下载
建站指南
冲浪宝典
办公软件
网站运营
操作系统
QQ 专题
网页制作
安全防御
视频教程
网络编程
SEO专区
软件下载
图像设计
Cisco
网页特效
Wap 技术
联盟赚钱
网页素材
 首页 | 企业建站 | 网页制作 | 网站运营 | 网络编程 | 图像设计 | 冲浪宝典 | 操作系统 | SEO专区 | 联盟赚钱 | Cisco

欢迎来到e天下网络首页>>网络编程>>ASP>>正文|ASP网页开发过程中的几个小技巧

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

[ 来路:21kn.com    时间:2007-7-8 0:50:58    点击: ]

 

  摘要:本文介绍了用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 bulletins. The general solutions to these problems are pointed out.

  关键词:ASP、新闻栏、公告栏

  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>

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

::::站长友情提示:多花一分钟学点什么都好::::

 

上一篇:基础知识:JavaScript、Jscript、VBScript、ASP的区别  下一篇:ASP技术在交互式网页设计中的运用

 ::热点信息::

 

= = 免责声明 = =

① 欢迎转载我网所刊信息,请注明“来源:E天下网络”。
② 凡本网注明“来源:XXX(非E天下网络)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行。
※联系方式:Airtofly@163.com

::推荐文章::

 

ASP教程:详细学习ASP的内置对象

::图像设计::

 

动态图片搜索家——GIF RUNN
软件搜索利器——FileFerret
实例说明构图要讲规律
Character Builder让你尽展靓
全景图速成者Cool360
三维模型速成工具——Canoma
剪贴专家SmartBoard 32
新世纪的图像处理利器——Ph
更多内容..

 

 

关于我们 广告服务 友情链接 合作伙伴 社区论坛 免责声明

Copyright © 2007   21kn.com Inc. All rights reserved.e天下网络工作室

网站白天客服QQ:26875416 (非24小时)  合作QQ:597004688    粤ICP备06026423号