栏目搜索
 
 
 
 
你的位置:首页 > LOTUS > ASP项目中的公共翻页模块 >
 

ASP项目中的公共翻页模块

发布者:[本站编辑] | 来源:[]

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
%>
</t

 
返回列表 返回LOTUS
 
  推荐文章
 
     暂无
 
 
  随机资讯
 
     暂无