在大型的ASP项目中,很多的页面都涉及到翻页功能。如果每个页面都写一个翻页的程序的话,这样的工作即降低了工作效率,也不利于工程的模块化,不能使代码重用。因此,把翻页这样的功能模块化是很有必要的。 设计方法:1、调用该模块时,只需要传递记录集和每页显示的记录的条数;2、可以点击链接进行翻页,也可以直接输入页码,回车后翻页;3、不要考虑文件名,程序的每次翻页都能在当前页面。 想清楚了上面3个问题,我们的公共翻页模块就可以动手了。 <%'+++++++++++++++++++++++++++++++++++++'◆模块名称: 公共翻页模块'◆文 件 名: TurnPage.asp'◆传入参数: Rs_tmp (记录集), PageSize (每页显示的记录条数)'◆输 出: 记录集翻页显示功能'+++++++++++++++++++++++++++++++++++++'Sub TurnPage(ByRef Rs_tmp,PageSize) 'Rs_tmp 记录集 ; PageSize 每页显示的记录条数;Dim TotalPage '总页数Dim PageNo '当前显示的是第几页Dim RecordCount '总记录条数 Rs_tmp.PageSize = PageSize RecordCount = Rs_tmp.RecordCount TotalPage = INT(RecordCount / PageSize * -1)*-1PageNo = Request.QueryString ("PageNo")'直接输入页数跳转;If Request.Form("PageNo")<>"" Then PageNo = Request.Form("PageNo")'如果没有选择第几页,则默认显示第一页;If PageNo = "" then PageNo = 1 If RecordCount <> 0 then Rs_tmp.AbsolutePage = PageNoEnd If '获取当前文件名,使得每次翻页都在当前页面进行;Dim fileName,postionfileName = Request.ServerVariables("script_name")postion = InstrRev(fileName,"/")+1'取得当前的文件名称,使翻页的链接指向当前文件;fileName = Mid(fileName,postion) %><table border=0 width='100%'> <tr> <td align=left> 总页数:<font color=#ff3333><%=TotalPage%></font>页 当前第<font color=#ff3333><%=PageNo%></font>页</td> <td align="right"> <%If RecordCount = 0 or TotalPage = 1 Then Response.Write "首页|前页|后页|末页" Else%> <a href="http://www.chinaitpower.com/A/2005-07-22/<%=fileName%>?PageNo=1>首页|</a>

评论