关于ASP的分页

subpageInit(rs,pSize,currentPage,pageSize)currentPage=request.QueryString("page")'pag... sub pageInit(rs,pSize ,currentPage,pageSize)
currentPage=request.QueryString("page") 'page值为接受值
rs.PageSize = pSize '每页显示记录数
pageSize=rs.PageSize
if Not IsEmpty(currentPage) then '判断page初始化
if Not IsNumeric(currentPage) then '判断page值是否为数字
page=1
else
currentPage = int(currentPage) '接收page并化为数字型赋给page变量
end if

if currentPage > rs.PageCount then '如果接收的页数大于总页数
rs.AbsolutePage = rs.PageCount '设置当前显示页等于最后页
elseif currentPage <= 0 then '如果page小于等于0
rs.AbsolutePage = 1 '设置当前显示页等于第一页
else
rs.AbsolutePage = currentPage '如果大于零,显示当前页等于接收的页数
end if
else
rs.AbsolutePage=1
end if
currentPage = rs.AbsolutePage
end sub

======================================
下面的程序调用上面的过程,

pSize=10 '每页显示记录数
call pageInit(rsGuestBook,pSize ,currentPage,pageSize)
%>
<table class="guestOneTopic">
<%
do while(not rsGuestBook.eof)
if (pageSize<=0)then exit do end if
pageSize=pageSize-1

==========================================
这里为什么pageSize=pageSize-1,
还有为什么要加上这个判断
if Not IsNumeric(currentPage) then '判断page值是否为数字
page=1
else
currentPage = int(currentPage) '接收page并化为数字型赋给page变量
end if
展开
 我来答
恋红2010
2010-10-27 · TA获得超过1961个赞
知道大有可为答主
回答量:1469
采纳率:50%
帮助的人:601万
展开全部
用pageSize来确定循环次数的,循环来输出记录时直到pageSize=0时停止,比如要输出20个记录,则从20倒着计算,到0时停止,共输出20条记录.当然也可以让pageSize=0来增长,即pageSize=pageSize+1,同时改循环判断if (pageSize<=0)then exit do end if

if (pageSize>pSize)then exit do end if
就行.
至于为什么要加上if Not IsNumeric(currentPage) then的判断,是防止传递的参数出现非数字值而出现错误或导致得出不正确的答案.你试试就知道的.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式