asp生成静态分页的处理方法  2008-01-13 15:14

字号:    

代码:
算<!--#include file="inc/conn.asp"-->
<html><head><TITLE>分页测试</TITLE><LINK href="inc/style.css" type=text/css rel=stylesheet></head>
<%strHead=strHead&"<html>"
strHead=strHead&"<head>"
strHead=strHead&"<TITLE>分页测试</TITLE>"
strHead=strHead&"<LINK href=""inc/style.css"" type=text/css rel=stylesheet>"
strHead=strHead&"</head>"
%>
<%
sql="select * from news"
set rs=server.createObject("ADODB.Recordset")
rs.open sql,conn,1,1
%><%
rs.pagesize=5
totalpage=rs.pagecount
rs.close
set rs=nothing

for j=1 to totalpage
sql="select * from news"
set rs=server.createObject("ADODB.Recordset")
rs.open sql,conn,1,1

whichpage=j
rs.pagesize=5
totalpage=rs.pagecount
rs.absolutepage=whichpage
howmanyrecs=0
%><%
str0=""
str0=str0&"</p>"
str0=str0&"<table bgcolor=#cecfce align=center border=0 width=800 cellpadding=2 cellspacing=1><tr bgcolor=#f7f7f7><td bgcolor=#f7f7f7 align=""center"">序号</td><td bgcolor=#f7f7f7 align=""center"">标题</td></tr>"
%><%
do while not rs.eof and howmanyrecs<rs.pagesize
%><%
str0=str0&"<tr bgcolor=#f7f7f7>"
str0=str0&"<td bgcolor=#f7f7f7 align=""center"">"&rs(0)&"</td>"
str0=str0&"<td bgcolor=#f7f7f7 align=""center"">"&rs(1)&"</td>"
str0=str0&"</tr>"
%><%
rs.movenext
howmanyrecs=howmanyrecs+1
loop
rs.close
set rs=nothing
%><%str0=str0&"</table>"
%><%

'分页部分
ref=""

ref=ref&"<br>"
ref=ref&"<table bgcolor=#cecfce align=center border=0 width=800 cellpadding=0 cellspacing=1> "
ref=ref&"<tr bgcolor=#f7f7f7>"
ref=ref&"<td> "
ref=ref&"<b>Pages: " & j & " / " & totalpage &"</b>"
ref=ref&"</td>"
ref=ref&"<td> "

ref=ref&"<a href=list_1.html"&">" & "首页" & "</a> "
if whichpage=1 then
ref=ref&"上一页"
else
ref=ref&"<a href=list_"&j-1&".html"&">" & "上一页" & "</a> "
end if

'for counter=1 to totalpage
'ref=ref&"<a href=list_"&counter&".html"&">[" & counter & "]</a>"
'ref=ref& " "
'if counter mod 10 = 0 then
'ref=ref& "<br>"
'end if
'next

if (whichpage>totalpage or whichpage=totalpage) then
ref=ref&"下一页"
else
ref=ref&"<a href=list_"&j+1&".html"&">" & "下一页" & "</a> "
end if
ref=ref&"<a href=list_"&totalpage&".html"&">" & "尾页" & "</a> "

Dim fso,f
Dim strTitle,strContent,strOut
'创建文件系统对象
Set fso=Server.createObject("Scripting.FileSystemObject")
Set f=fso.createTextFile(Server.MapPath("html/list_"&j&".html"),true)

'写入网页内容
f.WriteLine strHead&str0&ref
f.close
response.write "正在生成第"&j&"个页面!<br>"
%><%
next%>

3、其他的方法

以下是引用片段:
<%  
dim dde,fcontent,fkn,kg,pn,pz,nz   'dde:当前页;fcontent:内容;fkn:扩展名;kg:空格;pn每页多少条记录; 'pz:总页数;nz:记录总条数;  
dde=1  
pn=10  
nz=29  
fenter="<br>"   'fenter:回车符号  
fcontent="<br>"   'fcontent:设变量起始值为回车符号  
fkn=".html"  
kg="&nbsp;&nbsp;"  


if nz mod pn=0 then   '计算总页数  
 pz=nz\pn   'pz:总页数  
else    
 pz=nz\pn+1    
end if    

for i=1 to nz  
 fcontent=fcontent&"第"&i&"条记录"&fenter  
 if((i>1 and (i mod pn=0)) or i=nz) then                                                      
  
  if dde>1 then  
   fy="<a href='1"&fkn&"'>首页</a>"&kg  
   fy=fy&"<a href='"&(dde-1)&fkn&"'>上一页</a>"&kg  
  else  
   fy=fy&"首页"&kg  
   fy=fy&"上一页"&kg  
  end if  
   fy=fy&dde&kg  
  if dde<pz then  
   fy=fy&"<a href='"&(dde+1)&fkn&"'>下一页</a>"&kg  
   fy=fy&"<a href='"&pz&fkn&"'>尾页</a>"&kg  
  else  
   fy=fy&"下一页"&kg  
   fy=fy&"尾页"&kg  
  end if  
 
  call createfile(server.mappath(dde&fkn),fcontent&fenter&fy)  
  response.write "第"&dde&"页生成!<br>"          
  fcontent="<br>"  
  dde=dde+1  
 end if  
next  

function createfile(fname,nfasp)  
 set myFSO=server.createobject("scripting.filesystemobject")  
 set myfile=myfso.opentextfile(fname,2,true)  
  myfile.write nfasp  
  myfile.close  
 set myFso=nothing  
end function  
%>

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
网易公司版权所有 ©1997-2009