ITPub博客

首页 > 应用开发 > IT综合 > ASP项目中的公共翻页模块 (转)

ASP项目中的公共翻页模块 (转)

原创 IT综合 作者:worldblog 时间:2007-12-13 11:52:02 0 删除 编辑
ASP项目中的公共翻页模块 (转)[@more@]

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) 
%>

 
 
 
 
 
 
总页数:<%=TotalPage%>
    当前第<%=PageNo%>

  <%If RecordCount = 0 or TotalPage = 1 Then
  Response.Write "首页|前页|后页|末页"
  Else%>
  首页|
 <%If PageNo - 1 = 0 Then
  Response.Write "前页|"
  Else%>
  前页|
 <%End If
 
  If PageNo+1 > TotalPage Then
  Response.Write "后页|"
  Else%>
  后页|
 <%End If%>
 
  末页
  <%End If%>
转到第
  <%If TotalPage = 1 Then%>
 
  <%Else%>
 
  <%End If%>页
 

<%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) 
'公共翻页模块结束%> 



 
 
 

<%
If Not Rs_News.eof
  Do while Not Rs_News.eof and RowCount>0
%>
 
 
 
 
 
<%
  RowCount = RowCount - 1
  Rs_News.MoveNext
  Loop
End If
%>


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-992742/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 战神的泪 (转)
请登录后发表评论 登录
全部评论
新闻编号新闻标题发布日期
<%=Rs_News("ID")%><%=Rs_News("Name")%><%=Rs_News("Date")%>