关于ASP生成静态页面的问题!

raedong 2006-02-24 09:40:17
我知道ASP可以将数据库里的数据生成HTML的静态页面,但是如何做到让主页面也是HTML的页面而内容又是动态更新的呢?
...全文
96 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianhuo_soft 2006-02-24
  • 打赏
  • 举报
回复
关注
raedong 2006-02-24
  • 打赏
  • 举报
回复
ajax?? 还没听说过...

有兴趣想了解一下..
  • 打赏
  • 举报
回复
可以用ajax获取最新的页面内容然后定时执行

个人观点,不过做起来比较复杂些:)
raedong 2006-02-24
  • 打赏
  • 举报
回复
谢谢了,这个例子我大致看了一下,原理是不是将原来生成的静态页在删除重新生成一个更新的页.这样是不是会运行很慢呢!!
ybfqlyq 2006-02-24
  • 打赏
  • 举报
回复
<!--#include file="conn.asp"-->'数据连接文件
On Error Resume Next'容错处理
Dim City'定义取得要生成页面的城市
City=Request.Querystring("City")'获取生成的城市酒店值从框架传过来的在后面将介绍
HtmlStartName=Request.Querystring("HtmlStartName")'获得生成htm文件名前缀
Dim sql'搜索字符串,这里我就直接打开表不用搜索变量了,搜索条件按自己写就可以
sql="select * from Hotel where [City] = '" & City & "' "
Dim oRs'数据操作对象
Dim PageCounts'实现分页生成必须得知呀有多少页
Set oRs = Server.CreateObject("ADODB.Recordset")
oRs.Open Sql,oConn,1,1'找开酒店等于City变量的表
oRs.pagesize=10'十个记录为一页
PageCounts=oRs.pagecount'得出要生成多少个页面,循环生成使用
Dim fs'定义fso文件对象
Dim folders'存放生成静态页的文件夹名称
Dim Filestart'定义生成htm文件前缀
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Dim i
for i=1 to PageCounts'开始循环生成页面,也就是分页生成了
page=i
oRs.absolutepage=i'页码
rowcount=oRs.pagesize'当页记录数
folders=server.mappath("CityHtml")
if (fs.FolderExists(folders)) then'判断文件夹是否存在
else
fs.CreateFolder(folders)'不存在则创建CityHtml文件夹
end if
if i=1 then
Filestart=HtmlStartName'如果为第一页则定义文件名为传值名.例如beijing则为beijing.htm
else
Filestart=HtmlStartName&i'如果第二页则为beijing+1例如有两页也就是i等于2则为 beijing2.htm如此类推...(.htm后缀就在后面加上)
end if
Dim files'定义生成文本文件名称变量
Dim filez'定义文件路径名称变量
files=Filestart&".txt"'本文件名称
filez=folders&"\"&files'文本文件路径
'册除文件
Dim checkfile'检查文本文件是否已经存在,是则删除
checkfile=server.mappath("CityHtml\"&Filestart&".htm")'检查htm文件是否已经存在,是则删除
if (fs.FileExists(checkfile)) then'检查htm文件是否已经存在,是则删除
Dim df'定义文件对象*删除文件使用*
Set df=fs.GetFile(checkfile)'定义要册除的文件
df.delete'册除文件
end if'判断结束
Dim ts'定义写入文件对象
set ts = fs.createtextfile(filez,true) '开启写入文件内容**我在正文只简单写入酒店名称和静态数字分页显示**
ts.write("<Html><Head><Title>生成"&City&"城市酒店 </Title>"&vbcrlf)'之后就是要生成的正文件内容了跟使用Response.write
ts.write("<META http-equiv=Content-Type content=text/html; charset=gb2312>"&vbcrlf)
ts.write("<meta name=keywords content="&city&"酒店>"&vbcrlf)
ts.write("<link href='http://dev.csdn.net/Style/style.css' rel='stylesheet' type='text/css'></head><body topmargin=0>"&vbcrlf)
ts.Write("<TABLE WIDTH=760 cellspacing=0 cellpadding=0 align=center>"&vbcrlf&_
"<TR><TD width='100%'>"&vbcrlf)
'分页输出开始
'数字分页程序原理在这我就不多说了,不懂的朋友可在网上搜索一下
Dim page'当前页
Dim Page2'数字分页变量
Dim s'数字分页变量
if page=1 then
ts.write (" [首 页] [前一页] ")
else
ts.write (" <a href="http://dev.csdn.net/article/&HtmlStartName&".htm"&" class=blue>[首 页]</a> <a href="http://dev.csdn.net/article/&HtmlStartName&Replace(page-1,1,"")&".htm"&" class=blue>前一页</a> ")
end if
page2=(page-(page mod 10))/10
if page2<1 then page2=0
for s=page2*10-1 to page2*10+10
if s>0 then
if s=cint(page) then
ts.write (" <font color='#000000'>["& s & "]</font>")
else
if s=1 then
ts.write (" <a href="http://dev.csdn.net/article/&HtmlStartName&replace(s,1,"")&".htm"&" class=blue>["& s &"]</a>")
else
ts.write (" <a href="http://dev.csdn.net/article/&HtmlStartName&s&".htm"&" class=blue>["& s &"]</a>")
end if
end if
if s=ors.pagecount then
exit for
end if
end if
next
if cint(page)=ors.pagecount then
ts.write (" [后一页] [尾 页]")
else
ts.write (" <a href="http://dev.csdn.net/article/&HtmlStartName&page+1&".htm"&" class=blue>[后一页]</a> <a href="http://dev.csdn.net/article/&HtmlStartName&ors.pagecount&".htm"&" class=blue>[尾 页]</a>")
end if
ts.write("</TD></TR>")
'分页输出结束
do while not ors.eof and rowcount>0 '输出酒店名称
ts.write("<TR><TD width='100%'>"&oRs.Fields("Chinese_Name")&"</TD></TR>"&vbcrlf)
oRs.movenext
rowcount=rowcount-1'当页记录数-1 loop
ts.write("</Table></body></html>"&vbcrlf)
ts.close
set ts=nothing '释放对象
Dim EditFile'定义改写文件变量
Set EditFile = fs.GetFile(filez)'设置改写文件对象
EditFile.name= left(EditFile.name,len(EditFile.name)-4)&".htm" '改写文本文件成htm
next'循环生成结束(分页生成)
set EditFile=nothing '释放对象
set fs=nothing'释放对象
if err.number<>0 then '处理生成错误
Response.write(City&"更新时发生未知错误<A href=ToHtml.asp?City="&City&"&HtmlName="&HtmlStartName& ">重新更新</A>")
else
Response.Write(City&"酒店更新已完成 "&Now())
end if

轉貼個例子。。。
yzone 2006-02-24
  • 打赏
  • 举报
回复
等待中
后台管理,网址后加admin/Wrzcnet_login.asp帐户:admin密码:admin   仿京东商城网上购物系统正式版源码下载商城网站模板V2030强势推出!国内首个完全仿京东商城的购物系统,无论是程序的功能,还是网站系统的网站模板都是很京东商城风格的.中国最好的购物系统,本商城购物系统采用先进的AJAX技术与XML技术相融生成静态,速度更快!管理也更为轻松!仿京东商城源码,仿京东商城源码下载,仿京东商城系统源码,免费京东商城源代码,软件代码多重过滤结合强大的SEO优化可以快速被搜索引擎收录,独特的静态生成算法可以大大减轻服务器的负担,无论在生成速度还是安全方面都达到国内领先水平。   仿京东商城系统,京东商城程序, 仿京东商城模板V2030的部分特点与精华:在拥有HTM静态生成功能的基础上,系统在SEO优化方面更是表现得淋漓尽致,软件代码多重优化过滤,无论是整站还是商品、三级分类的各个设置等细节方面,均可独立设置搜索关键词及描述,让您的客户第一时间在搜索引擎中找到你!   由此可见,HTML静态版系统具有诸多优点:1、第一时间被搜索引擎收录,让客户第一时间找到您!2、大大减轻服务器负担,同等环境下,HTML静态版浏览速度要比ASP高出近10倍!即使在服务器负载较重的情况下,也不会让您漏失客户!3、更安全!HTML静态文件无任何漏洞,让您高枕无忧。4、更易维护和管理,后台只须轻轻一点,即可全部生成,方便快捷5、是电子商务时代所趋,目前较为流行的购物站均采用静态化的HTML,采用HTML静态版已是大势所趋。   免费的生成html静态文件的仿京东商城程序,多风格的网店系统,国内最强大的32套模板购物网站网软志成HTML静态版V2030,采用更为直观的静态生成模式!所有静态生成均在一个页面完成。购物网站模板下载,免费的购物程序商业版,同时采用极为先进的进度条调度模式!系统生成静态统一采用百分比及进度条直观显示,全站静态生成以进度条显示,以及生成的百度比!非常形象。生成过程随时掌控,使之更直观的呈现在人们面前!同时运用先进的技术手段,采用静态生成与动态跟踪技术,网店网站模板,网上商城网页模板下载,完全版的电子商务网站系统,静态生成页面实时显示未生成的数据,独创不重复生成技术!运用多种不同的生成规则使生成速度变的更为快速,仿京东商城网上购物系统正式版源码下载商城网站模板在生成HTM的基础上实现多种只有动态文件才有的功能,如用户状态、新闻的浏览率、相应的价格级别等信息!完美解决了HTM文件不能实时显示动态信息的瓶颈。   京东商城源程序免费下载,仿京东商城模板下载,京东商城购物网站程序,下载京东商城模板,以人性化管理为出发点,系统加入多种智能静态生成生成HTML的购物网站网页模板,商城系统完全版,网上商店开店系统,管理商城也由此变得游刃有余!有仿京东商城购物系统access版,仿京东商城网站模板mssql版,仿京东商城网站管理系统access生成html版,京东商城风格网页模板网店系统mssql生成html版下载.   系统功能方面更是十分强大!静态版率先支持了商品三级分类,支持七种在线支付,京东商城网源代码,京东商城网站源程序,京东商城源码,仿京东商城免费模板,同时支持Excel批量导入商品、文字或图片水印设置功能、商品优惠券及免运费设置的高级功能于一体,同时支持邮件订单通知与群发、完美整合BBS程序以及图片自动清除功能等等。

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧