当前位置:K88软件开发文章中心编程语言AspAsp01 → 文章内容

asp批量生成静态页面的方法(模板方法)

减小字体 增大字体 作者:佚名     来源:asp编程网  发布时间:2018-12-30 8:04:44

当网站数据巨大时,一次生成许多静态页,会导致生成页面超过20分钟后报错,以至于后面的静态页不能生成。

即使使用了Server.ScriptTimeout = 9999,程序运行后,也会出现假死现象。

这里介绍一种方法,每次生成100个静态页面,不停地生成,直到全部生成完毕


注意:这里使用的是模块替换生成静态页面的方法。


代码如下:

<
!--
#include file="conn.asp" -->

<
%

Dim cnt:cnt = 1 '本轮循环计数器初始化


start  
= request("start") '获取本轮指针的开始位置

If IsNumeric(start) Then start = CLng(start) Else start=1

If start=0 Then start = 1 '如果start为空,从第一条开始


num = 100 '每次生成的数量

content = "fso获取的模板页面代码,这里就省略了"


sql = "select * from 表名"

rs.Open sql,conn,1,1

rs.AbsolutePosition = start '这是此程序最关键的一步,将指针指向start,start通过参数动态获得

Do While Not rs.eof And cnt <
num

 
 
content = Replace(content,"
{要替换的内容1}",rs("字段名1")) '用字段值替换模板内容,下同

 
 
content = Replace(content,"
{要替换的内容2}",rs("字段名2"))

 
 
……

 
 
cnt = cnt+1

 
 
start = start + 1

rs.movenext

Loop


If Not rs.eof Then '通过刷新的方式进行下一轮请求,并将指针变量start传递到下一轮

 
 
response.write "<
meta http-equiv='refresh' content='0
URL=?start="&
start&
"'>
"

Else

 
 
 
response.write "生成HTML文件完毕!"

End if


rs.Close()

Set rs = Nothing

%>

原理就是这样的,看懂原理自己再根据它修改你自己的程序

注意:里面的conn.asp和fso读取模板页面代码这里就不介绍了。


asp批量生成静态页面的方法(模板方法)