如何提高Asp生成静态分页的速度

发布时间:2008-10-22 发布者:新锐传媒 查阅 [2981] 评论 [0]

使用xmlhttp生成分页速度比较慢,数据量大了更是慢的可以。这里所说的 用fso来生成就是平时说的模板生成。很多人喜欢生成一页遍历一下数据表,和浏览分页模式差不多,这种生成方法网上有很多文章介绍的,以前本人就是用这种方法生成的。其实只要遍历一般数据表就可以生成全部分页了

我的思路是先把分页弄一个模板 如 mb_list.html

内容:


。。。
列表数据 [list]

分页 [page]
。。。
 
 body=getmb("mb_list.html")
 '------------总页数
 sql1="select count(ID) from [table] where classid="&classid&" "
 set rs=server.CreateObject("adodb.recordset")
 rs.open sql1,conn,1,1
 PageSize=20 '每页多少条
 recordcount=rs(0)
 pagecount=Abs(Int(rs(0)/PageSize*(-1)))
 rs.close
 '------------列表
 sql="select * from [table] where classid="&classid&" "
 strTemp=""& vbcrlf
 set rs=server.CreateObject("adodb.recordset")
 rs.open sql,conn,1,1
 i=0
 k=0
 while not rs.eof
 i=i+1
 '数据
 strTemp=strTemp & rs("id") &"<br/>"

 if i mod PageSize =0 or i=recordcount then
 k=k+1
 if k=1 then
 path="/"&fs&"/index.html"
 else
 path="/"&fs&"/index"&k&".html"
 end if
 '获得数据
 list_show=strTemp
 page_show=showpage_fun(pagecount,k,3)
 '替换和保存数据
 body1=replace(body,"[list]",list_show)
 body1=replace(body1,"[page]",page_show)
 call savefun(path,body1)
 strTemp=""& vbcrlf
 '报告结果
 response.Write("<a href="""&path&""" target=""_blank"">"&path&"</a><br/>")
 response.Flush()
 rs.movenext
 wend
 rs.close
 set rs=nothing


这样的话table表之遍历一遍就可以生成全部分页了,速度自然快多了。

      免责声明 | 新锐观点 | 网站运营 | 网站推广 | 联系我们 | 网站地图