ASP用于分页的两个函数

在asp代码中分页是有点麻烦的事情,个人在在代码编写过程中把分页代码写成了两个函数,虽然在功能上不是很完善,但对于一般的应用应该是满足的了。

‘分页函数分为两个函数

‘CalcPage(totalrec,msg_per_page,currentpage,n,rowcount,PageRs) 分页计算函数

‘PageList(ListType,url,querry,Separator,ListLink) 分页列表函数

‘分页计算函数

‘totalrec 记录集总数

‘msg_per_page 每页显示的记录数,在调用CalcPage时需提前对该变量赋值

‘currentpage 当前页变量,在调用CalcPage时需提前对该变量赋值

‘n 总页数

‘rowcount 设置每一页的数据记录数

‘PageRs 记录集对象

sub CalcPage(totalrec,msg_per_page,currentpage,n,rowcount,PageRs)

n=0 ‘设置无记录时页数为0

if currentpage="" then currentpage=0

‘PageRs.EOF and PageRs.bof 无记录

‘Not PageRs.EOF Or Not PageRs.BOF 有记录

if Not PageRs.EOF Or Not PageRs.BOF then

totalrec=PageRs.recordcount

PageRs.pagesize=msg_per_page

if totalrec mod msg_per_page = 0 then ‘计算总页数,recordcount:数据的总记录数

n = totalrec\msg_per_page ‘n:总页数

else

n = totalrec\msg_per_page+1

end if

if not isnumeric(currentpage) or currentpage="" then currentpage=1

If currentpage "" then

currentpage = cint(currentpage)

end if

if currentpage

currentpage = 1

end if

if currentpage*msg_per_page > totalrec and not((currentpage-1)*msg_per_page

currentPage=1

end if

PageRs.absolutepage = currentpage ‘absolutepage:设置指针指向某页开头

rowcount = PageRs.pagesize ‘pagesize:设置每一页的数据记录数

end if

end sub

%>

‘分页列表函数

‘url 跳转的地址

‘querry ?后的参数

‘Separator 分隔符

‘ListType 分页类型

‘类型:0 "第一页 | 前一页 | 下一页 | 最后页"

‘类型:1 "1 | 2 | 3 | 4 | ..........| 下一页"

‘类型:2 "第一页 | 前十页 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 后十页 | 最后页"

‘ListLink 链接使用的样式

sub PageList(ListType,url,querry,Separator,ListLink)

if Separator="" then Separator="|"

if ListType="" then ListType="0"

select case ListType

case "0"

response.write"第"&currentpage&"/"&n&"页  "

response.write"共"&totalrec&"条信息  "

if currentpage

response.write"第一页 "&Separator&" "

response.write"前一页 "&Separator&" "

else

response.write"第一页 "&Separator&" "

response.write"前一页 "&Separator&" "

end if

if currentpage = n then

response.write"下一页 "&Separator&" "

response.write"最后页 "

else

response.write"下一页 "&Separator&" "

response.write"最后页 "

end if

case "1"

if currentpage

response.write"下一页 "

else

response.write"下一页 "

end if

for i=1 to n

if cstr(i)=cstr(currentpage) then

response.write ""&i&""&" "&Separator&" "

else

response.write""&i&" "&Separator&" "

end if

next

case "2"

PageMerCout=10 ‘每次可翻的最大页数

‘取得记录的最大页码段

if n mod PageMerCout=0 then

MaxPageFiled=n\PageMerCout

else

MaxPageFiled=n\PageMerCout+1

end if

‘判断当前页所在的页码段

if currentpage mod PageMerCout =0 then

CurrPageFiled=currentpage\PageMerCout

else

CurrPageFiled=currentpage\PageMerCout+1

end if

‘取得当前页码段的最大页码和最小页码

MaxPageNo=CurrPageFiled*PageMerCout

MinPageNo=(CurrPageFiled-1)*PageMerCout+1

‘输出 “第一页 | 前十页 |”

if currentpage

response.write"第一页 "&Separator&" "

else

response.write"第一页 "&Separator&" "

end if

if CurrPageFiled

response.write"前十页 "&Separator&" "

else

response.write"前十页 "&Separator&" "

end if

‘输出当前页码段

for i=MinPageNo to MaxPageNo

if i

if cstr(i)=cstr(currentpage) then

response.write ""&i&""&" "&Separator&" "

else

response.write""&i&" "&Separator&" "

end if

end if

next

‘输出 “后十页 | 最后页”

if CurrPageFiled>=MaxPageFiled then

response.write"后十页 "&Separator&" "

else

response.write"后十页 "&Separator&" "

end if

if currentpage>=n then

response.write"最后页 "

else

response.write"最后页 "

end if

end select

end sub

%>

在asp代码中分页是有点麻烦的事情,个人在在代码编写过程中把分页代码写成了两个函数,虽然在功能上不是很完善,但对于一般的应用应该是满足的了。

‘分页函数分为两个函数

‘CalcPage(totalrec,msg_per_page,currentpage,n,rowcount,PageRs) 分页计算函数

‘PageList(ListType,url,querry,Separator,ListLink) 分页列表函数

‘分页计算函数

‘totalrec 记录集总数

‘msg_per_page 每页显示的记录数,在调用CalcPage时需提前对该变量赋值

‘currentpage 当前页变量,在调用CalcPage时需提前对该变量赋值

‘n 总页数

‘rowcount 设置每一页的数据记录数

‘PageRs 记录集对象

sub CalcPage(totalrec,msg_per_page,currentpage,n,rowcount,PageRs)

n=0 ‘设置无记录时页数为0

if currentpage="" then currentpage=0

‘PageRs.EOF and PageRs.bof 无记录

‘Not PageRs.EOF Or Not PageRs.BOF 有记录

if Not PageRs.EOF Or Not PageRs.BOF then

totalrec=PageRs.recordcount

PageRs.pagesize=msg_per_page

if totalrec mod msg_per_page = 0 then ‘计算总页数,recordcount:数据的总记录数

n = totalrec\msg_per_page ‘n:总页数

else

n = totalrec\msg_per_page+1

end if

if not isnumeric(currentpage) or currentpage="" then currentpage=1

If currentpage "" then

currentpage = cint(currentpage)

end if

if currentpage

currentpage = 1

end if

if currentpage*msg_per_page > totalrec and not((currentpage-1)*msg_per_page

currentPage=1

end if

PageRs.absolutepage = currentpage ‘absolutepage:设置指针指向某页开头

rowcount = PageRs.pagesize ‘pagesize:设置每一页的数据记录数

end if

end sub

%>

‘分页列表函数

‘url 跳转的地址

‘querry ?后的参数

‘Separator 分隔符

‘ListType 分页类型

‘类型:0 "第一页 | 前一页 | 下一页 | 最后页"

‘类型:1 "1 | 2 | 3 | 4 | ..........| 下一页"

‘类型:2 "第一页 | 前十页 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 后十页 | 最后页"

‘ListLink 链接使用的样式

sub PageList(ListType,url,querry,Separator,ListLink)

if Separator="" then Separator="|"

if ListType="" then ListType="0"

select case ListType

case "0"

response.write"第"&currentpage&"/"&n&"页  "

response.write"共"&totalrec&"条信息  "

if currentpage

response.write"第一页 "&Separator&" "

response.write"前一页 "&Separator&" "

else

response.write"第一页 "&Separator&" "

response.write"前一页 "&Separator&" "

end if

if currentpage = n then

response.write"下一页 "&Separator&" "

response.write"最后页 "

else

response.write"下一页 "&Separator&" "

response.write"最后页 "

end if

case "1"

if currentpage

response.write"下一页 "

else

response.write"下一页 "

end if

for i=1 to n

if cstr(i)=cstr(currentpage) then

response.write ""&i&""&" "&Separator&" "

else

response.write""&i&" "&Separator&" "

end if

next

case "2"

PageMerCout=10 ‘每次可翻的最大页数

‘取得记录的最大页码段

if n mod PageMerCout=0 then

MaxPageFiled=n\PageMerCout

else

MaxPageFiled=n\PageMerCout+1

end if

‘判断当前页所在的页码段

if currentpage mod PageMerCout =0 then

CurrPageFiled=currentpage\PageMerCout

else

CurrPageFiled=currentpage\PageMerCout+1

end if

‘取得当前页码段的最大页码和最小页码

MaxPageNo=CurrPageFiled*PageMerCout

MinPageNo=(CurrPageFiled-1)*PageMerCout+1

‘输出 “第一页 | 前十页 |”

if currentpage

response.write"第一页 "&Separator&" "

else

response.write"第一页 "&Separator&" "

end if

if CurrPageFiled

response.write"前十页 "&Separator&" "

else

response.write"前十页 "&Separator&" "

end if

‘输出当前页码段

for i=MinPageNo to MaxPageNo

if i

if cstr(i)=cstr(currentpage) then

response.write ""&i&""&" "&Separator&" "

else

response.write""&i&" "&Separator&" "

end if

end if

next

‘输出 “后十页 | 最后页”

if CurrPageFiled>=MaxPageFiled then

response.write"后十页 "&Separator&" "

else

response.write"后十页 "&Separator&" "

end if

if currentpage>=n then

response.write"最后页 "

else

response.write"最后页 "

end if

end select

end sub

%>


相关内容

  • 设计文档模板
  • 1 房屋租赁系统设计 1.1 系统概述 1.主要需求说明 1.对功能的规定 本软件的基本功能点包括: ⑴租金的管理.用户可以查看每个房屋的租金交纳情况.对于到期未付租金的情况,可以自动产生警告.可以进行租金收取和租金查询等工作. ⑵合同管理:这里的合同指的是房屋租赁合同.可以产生新的租赁合同,也可以 ...

  • 动态网页设计论文
  • 湖北经济学院管理技术学院 毕业论文(设计) 题 目: 动态网页设计 系 部: 电子与计算机系 专 业: 计算机网络Q0831 学 号: 081804063 学生姓名: 廖盼盼 指导教师: 兰晶 职 称: 老师 二0 10 年 12月 12 日 目 录 1 需求分析 ................. ...

  • 个人网页设计与制作-毕业论文
  • 合肥财经职业学院 西安电子科技大学网络学院毕业设计 毕业论文(实践)报告 系 别 专 业 年 级 学 制 学 号 姓 名 2010 年 09 月 摘 要 本论文将对个人网页设计与制作的方法.工具等展开研究和探讨.在介绍网页设计与制作语言的基础上,着重使用JavaScript作为工具语言进行网页设计与 ...

  • 程序员面试题
  • 1.HTML控件和服务器控件有什么区别?区别在哪? HTML控件和服务器控件有什么区别?区别在哪? 服务器控件经过 服务器 如 下拉列表 国家的选了河北省 下一个就列出河北的市了 HTML控件.. 随便动 不经过服务器 只是在提交的时候得到它的值就可以了 1. new有几种用法  第 ...

  • 一句话木马的工作原理
  • 一句话木马的工作原理:一句话木马分析服务端与客户端. '一句话木马'服务端(是用于本地的html提交脚本木马文件) 就是我们要用来插入到asp文件中的asp语句,(不仅仅是以asp为后缀的数据库文件),该语句将回为触发,接收入侵者通过客户端提交的数据,执行并完成相应的操作,服务端的代码内容为 其中v ...

  • 网上书店设计与实现
  • 重庆大学网络教育学院 毕业设计(论文) 题目 网上书店设计与实现 学生所在校外学习中心 四川广安校外学习中心 批次 层次 专业 121专科起点本科 计算机科学与技术 学 号 W12111558 学 生 吴 清 指 导 教 师 屈 松 起 止 日 期 2013 年7月1日至 2013年8月21日止 摘 ...

  • 第2章 打下坚实基础--基本语法
  • 第2章 从本章开始,我们将全面介绍PHP的基础知识.本章的主要内容包括:PHP的数据类型.类型之间的转换.PHP的变量和常量.表达式和运算符,以及流程控制语句. 2.1 从" Hello World"开始 PHP语法入门 在开始学习PHP语言之前,我们先来看一个最简单的PHP应用 ...

  • 基于B2C的沃尔玛超市商品销售与管理系统
  • 本科生毕业设计 基于B2C的沃尔玛超市商品销售与管理系统 CommoditiesSaleandManagementSystem BasedonB2CforWal-MartSupermarket 学生姓名 所在专业 所在班级 申请学位 指导教师 副指导教师 答辩时间2011年彭伟民工学学士职称职称6月 ...

  • 论文-基于.net的电子政务系统
  • 自考本科毕业论文 考 籍 号: 姓 名: 题 目: 指导教师: 江沸波 专 业: 电子政务 通讯地址: 湖南师范大学 电 话: 二零一一年三月 电子政务系统平台的设计 『摘要』 本论文概述了ASP.NET及其相关的一些知识,采用的基础语言是C#语言.ASP.NET是面向下一代企业级的Web应用程序开 ...