今天心情有点激动,想把关于用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 %> |
NaviLength:显示的数字链接个数,即10就为1 2 3 ...10的连接个数。
若要显示所有连接的页(个)数,你可以设置为:NaviLength=tPageCount。


