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 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=".htm">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" ></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" >'公告栏上下滚动
<%
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>

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

时间: 2024-10-30 22:34:05

ASP网页开发过程中的几个小技巧的相关文章

高手传经 网页设计中的几个小技巧

技巧|设计|网页|网页设计 如上图是Relen的个人主页Relen.com,2004版的首页发布信息,尤其是过年前后,利用雪花来点缀页面是非常合适的.注意这里面的雪花的摆设位置是有些技巧的,你可以考虑用黄金分割来支配你的设计思路,以达到合理.舒适的效果. 先排列文字,运用两到三种不同的字体,绝大多数文字对齐左侧,而其中一行突出,形成错落有致的感觉.文字的大小需要调整,主要信息文字大写,字体突出.而其他根据信息主次和平面设计的要求等多种因素进行排列.个别地方使用斜体加强,或用加粗的形式明示. 字体

ASP网页怎么中获取SQL数据

问题描述 ASP网页怎么中获取SQL数据 查询表trans中和date字段(和系统日期一致的) WHERE (YEAR([Date]) = YEAR({ fn NOW() })) AND (MONTH([Date]) = MONTH({ fn NOW() })) AND (DAY([Date]) = DAY({ fn NOW() })) root字段中的房间号 WHERE (Room > 301) AND (Room < 711) tanascode字段(小于3的值) WHERE (Trans

ASP.NET开发过程中连接SYBASE数据库组件

问题描述 ASP.NET开发过程中连接SYBASE数据库组件以前在论坛上提问的关于"ASP.NET开发过程中连接SYBASE数据库问题?"最近经常一人加QQ问这个解决办法,现把解决的三个组件发出来,大家共享下,网络上其他地方也应该能搜索到的,

网页Flash播放代码的一个小技巧

flash播放|技巧|网页 网页Flash播放代码的一个小技巧 很多网页中都插有Flash播放代码,这不仅是为了页面元素的多样化,更是为了内容体现的需要.很多时候,我们会遇到这样的问题:根据需要使用Flash的script来读取不同的音频源或者视频源,那么如何实现这一功能呢?下面我们用改写<object>标签中的代码来实现. 一个典型的Flash播放器源代码中常常有这样的语句:<param name="movie" value="http://mydomin

PPT中插入几何画板小技巧

  PPT中插入几何画板小技巧           方法一 利用几何画板控件插入 "控件"是将几何画板文档嵌入到Word.PPT.WPS和网页中的组件,是几何画板与这些软件的媒介.通过控件,可以实现在这些软件中运行画板文档,故称为在其他软件中"嵌入"几何画板.利用控件可以把几何画板文件无缝嵌入Word.PowerPoint.Excel和网页中.经测试,在XP.Windows7.Vista.Windows8系统下,PowerPoint/Word 2003.2007.2

VS开发中的代码编写小技巧&amp;mdash;&amp;mdash;避免重复代码编写的几种方法

原文:VS开发中的代码编写小技巧--避免重复代码编写的几种方法 上一篇文章中程序员的幸福生活--有你的日子,每天都是情人节,收到了大家的很多好评.鼓励和祝福,非常感动,真诚的谢谢大家.也希望每个朋友都能保持一个积极向上的心态,去迎接丰富多彩的人生. 在开发过程中,我们经常会遇到大量重复或者类似的代码需要编写,当然我们可以通过各种模式来避免这种情况出现,但肯定有些时候我们是无法避免的,那么遇到这种情况,我们该如何快速完成这些重复或类似的代码的编写呢.下面来说一下我的方法,当然,如果大家有更好的方法

SQL Server 2000中生成XML的小技巧

本文介绍一个SQL Server 2000中生成XML的小技巧. 以前在介绍SQL2k的时候已经提到了SQL2k对XML的支持,使用for XML语句就可以很容易的把执行的结果转化为一个XML,这样可以在很大程度上提高系统运行效率和开发速度,详细的内容请参见Books Online. 但是在使用ADO(Required ADO 2.6)访问返回的XML的方式和原来的Recordset是有所不同的.如果你还是使用Recordset访问的话,只能得到一个Unicode格式的XML Schema,而无

UWP开发入门(十四)—— UserControl中Adaptive UI的小技巧

原文:UWP开发入门(十四)-- UserControl中Adaptive UI的小技巧 本篇我们通过绘制一个非常简单的UserControl控件,来分享一下对Adaptive UI的理解及一些图形绘制的技巧. 现在流行的APP都少不了精致的用户头像,首先假设我们需要绘制如下的图形作为默认头像: <UserControl x:Class="AdaptiveUserControl.Circle0" xmlns="http://schemas.microsoft.com/w

网页设计中的图标的使用技巧与资源合集

  提到图标设计,似乎每个设计师都有话说,但是要做好图标设计真的那么容易么?今天这篇文章针对网页设计领域的图标设计进行了相对全面的梳理,从设计技巧到设计资源一应俱全,但愿能帮上你! 图标是每一个现代UI中不可或缺的组成部分,它们不仅能协助UI布局组织内容,而且轻量级的图标融入界面也不会喧宾夺主.不仅手机和平板的APP UI中会大量用到各种图标,而且iPod和智能手表的界面中也是如此,这正是因为图标具备快速直观传达信息的能力. 在网页设计刚刚兴起的时代,小图标就已经被早期的网页设计师和开发者投入使