参考:用Dreamweaver+ASP实现网页分页
2008-06-20 06:05:26来源: 阅读 ()
此效果最后的显示是:第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。
这时代码已经差不多了,但还要在显示的地方(如表格)中加点代码才行吧,(要不然怎么显示,呵~~~)如我们插入一个2行3列的表格。
1.将光标移在第一行第一列中,切换到代码中加入:<%=(PageNo-1)*RPP+I%>
这个代码是显示序号用的。
2.右边2个单元格(当然你自己可以根据需要分更多的列)就是为你要显示的记录了。请分别从绑定的记录集中选中你要显示的字段拖放在相应的单元格中,(也可以选中后再点右下角的“插入”按钮)。这里我们就先拖2个进来如“编号”和“公司名称”。分别到1行第2个单元格和1行第3个单元格中。
3.这个是个关键的,请将光标移到第一行任意单元格中,再来点选窗口底下的<tr>,这时你看看代码,<tr>....</tr>就被选中了。这时请在<tr>....</tr>的前面插入如下代码:
<% If Recordset1.EOF OR Recordset1.BOF Then Else For I=1 To RPP %>再在<tr>....</tr>之后插入如下代码: <% Recordset1.MoveNext If Recordset1.EOF OR Recordset1.BOF Then Exit For Next End If %> |
4.这是就完成表格的第一行的工作。下来也是关键,即分页的连接。光标在第2行第一个单元格中时在代码窗口插入:
<% showPageInfo Recordset1.PageCount,PageNo %> 的代码。右边的2个单元格将其合并,在代码中插入:
<% showPageNavi Recordset1.PageCount,PageNo %> 的代码。
5.大功告成!这时感快预览一下吧。。。。
表格的全部代码如下:
<table width="710" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#333333"> <% If Recordset1.EOF OR Recordset1.BOF Then Else For I=1 To RPP %> <tr bgcolor="#FFFFFF"> <td width="30" align="center"><%=(PageNo-1)*RPP+I%></td> <td><%=(Recordset1.Fields.Item("编号").Value)%></td> <td><%=(Recordset1.Fields.Item("公司名称").Value)%></td> </tr> <% Recordset1.MoveNext If Recordset1.EOF OR Recordset1.BOF Then Exit For Next End If %> <tr bgcolor="#FFFFFF"> <td colspan="3"><table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr bgcolor="#006699" class="w12"> <td width="121" align="center"><% showPageInfo Recordset1.PageCount,PageNo %> </td> <td width="573" align="center"> <% showPageNavi Recordset1.PageCount,PageNo %> </td> </tr> </table></td> </tr> </table> |
这时你去点应用程序中的“服务器行为”中的记录集,在代码中就显示为一下代码,也是我的原代码:
<% Dim I Dim RPP’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 表名 ORDER BY 编号 ASC" Recordset1.CursorType = 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=20 ’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 %> |
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Dreamweaver插入有颜色的水平线的方法 2020-02-12
- dreamweaver如何制作弹出菜单 2020-02-12
- Dreamweaver之CSS样式表格添加细线边框的方法 2019-04-20
- 教你利用Dreamweaver插件制作网页漂浮广告 2019-04-20
- Dreamweaver启用 WordPress 代码提示功能的图文方法 2019-04-20
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash