源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

ASP项目中的公共翻页模块

  • 时间:2020-04-24 01:01 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:ASP项目中的公共翻页模块
在大型的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>  <%If PageNo - 1 = 0 Then  Response.Write "前页|"  Else%>  <a href="<%=fileName%>?PageNo=<%=PageNo-1%>">前页|</a>  <%End If  If PageNo+1 > TotalPage Then  Response.Write "后页|"  Else%>  <a href="<%=fileName%>?PageNo=<%=PageNo+1%>">后页|</a>  <%End If%>  <a href="<%=fileName%>?PageNo=<%=TotalPage%>">末页</a>  <%End If%></td>  <td width=95>转到第  <%If TotalPage = 1 Then%>  <input type=text name=PageNo size=3 readonly disabled style="background:#d3d3d3">  <%Else%>  <input type=text name=PageNo size=3 value="" title=请输入页号,然后回车>  <%End If%>页  </td>  </tr>  </table>  <%End Sub%>  当然,大家可以把翻页的链接做成图片按钮,这样的话也面就更加美观了。  调用方法:  1、在程序开始或要使用翻页的地方包含翻页模块文件;  2、定义变量:RowCount,每页显示的记录条数  3、调用翻页过程:Call TurnPage(记录集,RowCount)  4、在Do While 循环输出记录集的条件中加上" RowCount > 0 " 条件  5、在循环结束 "Loop前" 加上: RowCount = RowCount - 1  '-----------------------------------------------------  调用范例:  文件名:News.asp  <%  Dim Conn,Rs_News  Set Conn = server.CreateObject("ADODB.CONNECTION")  Conn.Open "cpm","cpm","cpm"  Dim Sql  Sql = "Select * from News"  Set Rs_News = Server.CreateObject("ADODB.RECORDSET")  Rs_News.Open Sql,Conn,1,3 '获取的记录集  '公共翻页模块开始%>  <!--#include file=../Public/TurnPage.asp-->  <%  Dim RowCount  RowCount = 10 '每页显示的记录条数  Call TurnPage(Rs_News,RowCount)   '公共翻页模块结束%>   <table width=100%>  <tr>  <td>新闻编号</td>  <td>新闻标题</td>  <td>发布日期</td>  <tr>  <%  If Not Rs_News.eof  Do while Not Rs_News.eof and RowCount>0  %>  <tr>  <td><%=Rs_News("ID")%></td>  <td><%=Rs_News("Name")%></td>  <td><%=Rs_News("Date")%></td>  <tr>  <%  RowCount = RowCount - 1  Rs_News.MoveNext  Loop  End If  %>  修正:  <%  If Not Rs_News.eof then  Do while Not Rs_News.eof and RowCount>0  %>  而那个公共模块缺<form>,改后:  <%  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 width="258" align=left> 总页数:<font color=#ff3333><%=TotalPage%></font>页   当前第<font color=#ff3333><%=PageNo%></font>页 总共<%=RecordCount%>条 </td>  <td width="308" align="right"> <div align="center">   <%If RecordCount = 0 or TotalPage = 1 Then   Response.Write "首页|前页|后页|末页"  Else%>  <a href="<%=fileName%>?PageNo=1">首页|</a>   <%If PageNo - 1 = 0 Then  Response.Write "前页|"  Else%>  <a href="<%=fileName%>?PageNo=<%=PageNo-1%>">前页|</a>   <%End If  If PageNo+1 > TotalPage Then  Response.Write "后页|"  Else%>  <a href="<%=fileName%>?PageNo=<%=PageNo+1%>">后页|</a>   <%End If%>  <a href="<%=fileName%>?PageNo=<%=TotalPage%>">末页</a>   <%End If%>  </div></td>  <td width=189><form name="form1" method="post" action=""> 转到第 <% If TotalPage = 1 Then%>  <input type=text name=PageNo size=3 readonly disabled style="background:#d3d3d3">  <input type="submit" name="Submit" value="Go" disabled style="background:#d3d3d3">  <%Else%>  <input type=text name=PageNo size=3 >  <input type="submit" name="Submit" value="Go">  <%End If%>  </form>  页   </td>  </tr>  </table>  <%End Sub%>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部