日期:2014-02-16  浏览次数:20658 次

  今天心境有点激动,想把"关于用DW+ASP实现分页技术的参考"分享给用DW+ASP做网页的朋友们.去掉只要"第一页,前一页,下一页,最后一页"的小痛苦

  此效果最后的显示是:第N页[共*页] <<1 2 3 4 5 6 7 8 9 10 >>。

  用DW+ASP做网页时,在绑定记录集后,代码页里马上出现以下代码:

<% 
Dim Recordset1 
Dim Recordset1_numRows 

Set Recordset1 = Server.CreateObject("ADODB.Recordset") 
Recordset1.ActiveConnection = MM_数据库名_STRING 
Recordset1.Source = "SELECT * FROM 表名" 
Recordset1.CursorType = 0 
Recordset1.CursorLocation = 2 
Recordset1.LockType = 1 
Recordset1.Open() 

Recordset1_numRows = 0 
%> 

  如今我们要来对代码做点修正,请在上面代码中修正为如下的代码:

<% 
Dim I 
Dim RPP 
Dim PageNo 
I=1 
RPP=50 
PageNo=CInt(Request("PageNo")) 
’上面即是新插入的, 
Dim Recordset1 
Dim Recordset1_numRows 
Set Recordset1 = Server.CreateObject("ADODB.Recordset") 
Recordset1.ActiveConnection = MM_数据库名_STRING 
Recordset1.Source = "SELECT * FROM 数据库名" 
Recordset1.CursorType = 1 ’将上面代码的0改为1. 
Recordset1.CursorLocation = 2 
Recordset1.LockType = 1 
Recordset1.Open() 
Recordset1_numRows = 0 ’再在此行的下一行开始加入如下代码: 
Recordset1.PageSize=RPP 
If PageNo<=0 Then PageNo=1 
If PageNo>Recordset1.PageCount Then PageNo=Recordset1.PageCount 
Recordset1.AbsolutePage=PageNo 
Sub ShowPageInfo(tPageCount,cPageNo) 
Response.Write "第"&cPageNo&"页[共"&tPageCount&"页]" 
End Sub 
Sub ShowPageNavi(tPageCount,cPageNo)  
If cPageNo<1 Then cPageNo=1 
If tPageCount<1 Then tPageCount=1 
If cPageNo>tPageCount Then cPageNo=tPageCount  
Dim NaviLength 
NaviLength=10 ’NaviLength:显示的数字链接个数  
Dim I,StartPage,EndPage  
StartPage=(cPageNo\NaviLength)*NaviLength+1 
If (cPageNo Mod NaviLength)=0 Then StartPage=StartPage-NaviLength  
EndPage=StartPage+NaviLength-1 
If EndPage>tPageCount Then EndPage=tPageCount  
If StartPage>1 Then 
Response.Write "<a class=""pageNavi"" href=""?PageNo=" & (cPageNo-NaviLength) & """><<</a> " 
Else 
Response.Write "<font color=""#CCCCCC""><<</font> " 
End If 
For I=StartPage To EndPage 
If I=cPageNo Then 
Response.Write "<b>"&I&"</b>" 
Else 
Response.Write "<a class=""pageNavi"" href=""?PageNo=" & I & """>" & I & "</a>" 
End If 
If I<>tPageCount Then Response.Write " " 
Next 
If EndPage<tPageCount Then 
Response.Write " <a class=""pageNavi"" href=""?PageNo=" & (cPageNo+NaviLength) & """>>></a>" 
Else 
Response.Write " <font color=""#CCCCCC"">>></font> " 
End If 
End Sub 
%> 

  上面代码中:RPP:指定每页显示的记录条数。即每页显示几条数据。

  NaviLength:显示的数字链接个数,即10就为1 2 3 ...10的连接个数。

  若要显示所有连接的页(个)数,你可以设置为:NaviLe