|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
在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 = totalrecmsg_per_page \\\'n:总页数 else n = totalrecmsg_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=nPageMerCout else MaxPageFiled=nPageMerCout+1 end if \\\'判定当前页所在的页码段 if currentpage mod PageMerCout =0 then CurrPageFiled=currentpagePageMerCout else CurrPageFiled=currentpagePageMerCout+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 %> 返回类别: 教程 上一教程: SQL SERVER静态页面导出技术(SQL SERVER WEB ASSISTANT) 下一教程: 在ASP中使用MD5加密 您可以阅读与"ASP用于分页的两个函数"相关的教程: · 将ASP的DEBUG变得简朴的两个函数 · 用CDONTS发送邮件的两个函数 · ASP的两个简朴的检测外部提交函数 · 在ASP中如何迅速优化分页的技巧 · ASP+FSO+框架实现ASP生成HTM并分页的方式(批量) |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |