在大型的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)*-1  
PageNo = Request.QueryString ("PageNo")  
'直接输入页数跳转;  
If Request.Form("PageNo")<>"" Then PageNo = Request.Form("PageNo")  
'如果没有选择第几页,则默认显示第一页;  
If PageNo = "" then PageNo = 1   
If RecordCount <> 0 then  
Rs_tmp.AbsolutePage = PageNo  
End If  
'获取当前文件名,使得每次翻页都在当前页面进行;  
Dim fileName,postion  
fileName = 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="<%=fileName%>?PageNo=1">首页|</a>  
      
      
    ASP项目中的公共翻页模块
内容版权声明:除非注明,否则皆为本站原创文章。
