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)

相关推荐

  • ASP项目中的公共翻页模块

    在大型的ASP项目中,很多的页面都涉及到翻页功能.如果每个页面都写一个翻页的程序的话,这样的工作即降低了工作效率,也不利于工程的模块化,不能使代码重用.因此,把翻页这样的功能模块化是很有必要的.   设计方法:  1.调用该模块时,只需要传递记录集和每页显示的记录的条数:  2.可以点击链接进行翻页,也可以直接输入页码,回车后翻页:  3.不要考虑文件名,程序的每次翻页都能在当前页面. 想清楚了上面3个问题,我们的公共翻页模块就可以动手了. <%  '++++++++++++++++++++++

  • 实例讲解iOS中的UIPageViewController翻页视图控制器

    一.引言 UIPageViewController是iOS中少见的动画视图控制器之一,通过它既可以创建类似UIScrollView与UIPageControl结合的滚屏视图,也可以创建类似图书效果的炫酷翻页视图. UIPageViewController在iOS 5 SDK中首次引入,它使得开发者可以使用这个ViewController创建分页视图.在iOS 6中,这个类有了更新,支持滚动过渡效果.使用Page View,用户可以方便的通过手势在多个页面之间导航.UIPageViewContro

  • 浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法

    1.在Vue项目中引用公共方法 作为一个新人小白,在使用vue的过程中,难免会遇到很多的问题,比如某个方法在很多组件中都能用的上,如果在每个组件上都去引用一次的话,会比较麻烦,增加代码量.怎么做比较好呢,话不多说直接看代码把 首先 要在main.js中引入公共js.然后,将方法赋在Vue的原型链上. 像图中这样. 然后在需要的组件上去引入这个方法 mouted (){ //调用方法 this.common.login(); } /**然后公共方法里写一段简单的代码*/ export defaul

  • php中文本数据翻页(留言本翻页)

    在mysq中介绍翻页的文章不少,而文本数据表格式的翻页介绍的很少,这里我就简单的说一下翻页 主要介绍以下翻页思想1.留言本的翻页2.文本论坛的翻页 ------------------------留言本的翻页:------------------------------这个在文本数据表中的翻页是最简单的翻页,这样说明一下 golbal file    Data.dat    ---    NOTE FILE USE    user.dat    ---     Forum File useDat

  • 解析Android中实现滑动翻页之ViewFlipper的使用详解

    1)View切换的控件-ViewFlipper介绍 ViewFilpper类继承于ViewAnimator类.而ViewAnimator类继承于FrameLayout. 查看ViewAnimator类的源码可以看出此类的作用主要是为其中的View切换提供动画效果.该类有如下几个和动画相关的方法. setInAnimation:设置View进入屏幕时候使用的动画.该方法有两个重载方法,即可以直接传入Animation对象,也可以传入定义的Animation文件的resourceID. setOut

  • vue项目中自定义video视频控制条的实现代码

    最近公司项目中,添加了视频模块,但是产品觉得Video自带的控制条有点LOW,于是自己设计了一个.于是开始了自定义Video控制的采坑之旅.. 首页效果图: 需求描述: 当鼠标放在图片上的时候,自动播放视频,并显示预览进度条,当鼠标移开,显示预览图片,再次hover图片,继续上次播放 视频详情页的效果图: 需求描述: 能自定义的暂停和播放 模仿进度条可实现拖拽播放速度 显示当前时间 能选择倍速 能控制声音 能全屏播放 接下来一步步的实现 首先康康首页的,上结构代码: <div class="

  • jQuery 翻页组件yunm.pager.js实现div局部刷新的思路

    前端的翻页插件有很多,bootstrap的翻页界面看起来就不错,做起来也易于上手,但应用于项目中的翻页实现还有有几个难点,分别是: 如何封装一个翻页插件,如题中的yunm.pager.js. 涉及到的div局部刷新该如何做. 在没给大家介绍正文之前,先给大家展示下效果图,如果感觉还不错,请继续往下阅读: 翻页的总体流程涉及到的知识点很多,这篇文章我们也主要来关注以上两点,其余的内容,请自悟. 一.如何定义局部刷新的div 翻页时,我们一般只会刷新页面中涉及到翻页的父级div,那么该如何定义呢?

  • jsp实现上一页下一页翻页功能(示例代码)

    前段时间一直忙于期末考试和找实习,好久没写博客了. 这段时间做了个小项目,包含了翻页和富文本编辑器Ueditor的两个知识点,Ueditor玩的还不是很深,打算玩深后再写篇博客. 要实现翻页功能,只需要设置一个pageIndex即可,然后每次加载页面时通过pageIndex去加载数据就行. 那么我们可以设置一个隐藏的input框,用于传递pageIndex给下个页面. 当我们点击上一页的时候,通过js方法改变pageIndex的值,再提交表单即可 二话不多说,看代码,代码里面写的还算比较清楚.

  • C# winform自定义翻页控件详解

    C#  winform中自定义的翻页控件,自己设计,供大家参考,具体内容如下 1.主要是使用控件绑定点击事件   用到的控件分别为picturebox   lable  上一页pbPage_Prev    下一页 pbPage_Next  首页 pbPage_Begin   尾页pbPage_End  是picturebox控件加背景图 "第  页/ 共  页" 是一个lable "labPageInfo"    在lable上面加了一个隐藏的textbox 控件

  • bootstrap table实现点击翻页功能 可记录上下页选中的行

    bootstrap-table中实现,翻页之后再返回,依然选中的情况,具体内容如下 //var productids = $("body",window.parent.frames[0].document).find('.ptids');//textarea存放数据 var productids = $('textarea'); var merge_order_object= {};//页码+id组成的对象 var jsonObj = {}; var current_page = &q

随机推荐