首页 | 站长免费中心 | 新手上路 | 网站运营 | 网页制作 | 图片设计 | 动画设计 | 网页编程 | 网页特效 | 本站专题 | 虚拟主机 | 域名注册 | 网站建设 | 程序下载
       免费空间资源 | 新闻咨询 | 免费域名 | 免费网盘 | 网站推广 | 网站策划 | 建站经验 | 网站优化 | 网页代码 | 源码下载 | 音乐小偷 | 网络赚钱 | 论坛交流
网站建设
网站建设
虚拟主机
虚拟主机
域名注册
域名注册
711网络首页
站长工具
站长工具
网站源码
网站源码
站长论坛
站长论坛

 711网络 网页编程ASP代码

ASP用于分页的两个函数

来源: 互联网    日期:2006-5-15
 
在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 < 1 then
currentpage = 1
end if
if currentpage*msg_per_page > totalrec and not((currentpage-1)*msg_per_page < totalrec) then
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"第"¤tpage&"/"&n&"页  "
response.write"共"&totalrec&"条信息  "
if currentpage <= 1 then
response.write"第一页 "&Separator&" "
response.write"前一页 "&Separator&" "
else
response.write"<a href="""&url&"?page=1&"&querry&""" class="""&ListLink&""">第一页</a> "&Separator&" "
response.write"<a href="""&url&"?page="¤tpage-1&"&"&querry&""" class="""&ListLink&""">前一页</a> "&Separator&" "
end if
if currentpage = n then
response.write"下一页 "&Separator&" "
response.write"最后页 "
else
response.write"<a href="""&url&"?page="¤tpage+1&"&"&querry&""" class="""&ListLink&""">下一页</a> "&Separator&" "
response.write"<a href="""&url&"?page="&n&"&"&querry&""" class="""&ListLink&""">最后页</a> "
end if
case "1"
if currentpage < n then
response.write"<a href="""&url&"?page="¤tpage+1&"&"&querry&""" class="""&ListLink&""">下一页</a> "
else
response.write"下一页 "
end if
for i=1 to n
if cstr(i)=cstr(currentpage) then
response.write "<b>"&i&"</b>"&" "&Separator&" "
else
response.write"<a href="""&url&"?page="&i&"&"&querry&""" class="""&ListLink&""">"&i&"</a> "&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<=1 then
response.write"第一页 "&Separator&" "
else
response.write"<a href="""&url&"?page=1&"&querry&""" class="""&ListLink&""">第一页</a> "&Separator&" "
end if
if CurrPageFiled<=1 then
response.write"前十页 "&Separator&" "
else
response.write"<a href="""&url&"?page="&MinPageNo-PageMerCout&"&"&querry&""" class="""&ListLink&""">前十页</a> "&Separator&" "
end if
'输出当前页码段
for i=MinPageNo to MaxPageNo
if i<=n then
if cstr(i)=cstr(currentpage) then
response.write "<b>"&i&"</b>"&" "&Separator&" "
else
response.write"<a href="""&url&"?page="&i&"&"&querry&""">"&i&"</a> "&Separator&" "
end if
end if
next
'输出 “后十页 | 最后页”
if CurrPageFiled>=MaxPageFiled then
response.write"后十页 "&Separator&" "
else
response.write"<a href="""&url&"?page="&MaxPageNo+1&"&"&querry&""" class="""&ListLink&""">后十页</a> "&Separator&" "
end if
if currentpage>=n then
response.write"最后页 "
else
response.write"<a href="""&url&"?page="&n&"&"&querry&""" class="""&ListLink&""">最后页</a> "
end if
end select
end sub
%>



更多的ASP用于分页的两个函数请到论坛查看: http://BBS.TC711.COM



【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】 来源: 互联网    日期:2006-5-15   

发 表 评 论
查看评论

  您的大名:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
认证编码: 刷新验证码
点评内容: 字数0
  精品推荐  
  本月推荐  
  友情赞助  

关于我们 | 联系我们 | 广告投放 | 留言反馈 | 免费程序 | 虚拟主机 | 网站建设 |  网站推广 |  google_sitemap baidu_sitemap RSS订阅
本站所有资源均来自互联网,如有侵犯您的版权或其他问题,请通知管理员,我们会在最短的时间回复您
Copyright © 2005-2015 Tc711.Com All Rights Reserved 版权所有·711网络   蜀ICP备05021915号
110网监备案 信息产业备案 不良信息举报