学习目的:分页技术,总结 今天最后一天我们学习一下ASP里面稍微难一点地分页技术,毕竟当我们有N条记录的时候我们不可能把所有记录显示在一个页面里面吧。 <% exec="select * from test" set rs=server.createobject("adodb.recordset") rs.open exec,conn,1,1 rs.PageSize=3 pagecount=rs.PageCount page=int(request.QueryString ("page")) if page<=0 then page=1 if request.QueryString("page")="" then page=1 rs.AbsolutePage=page %> rs.pagesize设置一个页面里面显示的记录数,pagecount是我们自己定义的一个变量,rs.pagecount是记录的个数,page也是我们自己定义的一个变量,我们下一页的链接可以设置为list.asp?page=<%=page+1%>,下一页的链接可以设置为list.asp?page=<%=page-1%>,这样当按下链接的时候调用页面自己,page这个变量就+1或者-1了,最后我们让rs.absolutepage(当前页面)为第page页就可以了。 if request.QueryString("page")="" then page=1,这句话的作用就是我们打开list.asp的时候没有跟随page变量,自动设置为page=1,防止出错,还有当我们if....then...放在一行的时候end if可以省略。是不是分页也不难? 下面说一种特殊情况: if page=1 and not page=pagecount,这个时候没有上一页,但是有下一页 elseif page=pagecount and not page=1,这个时候没有下一页,但是有上一页 elseif page<1,这个时候没有任何记录 elseif page>pagecount then,这个时候没有任何记录 elseif page=1 and page=pagecount,这个时候没有上一页,没有下一页 else,这个时候有上一页,也有下一页。 下面看一段显示1到n页,且每一个数字点击以后就出现这个数在代表的页面的代码,很常见哦。 <%for i=1 to pagecount%> <a href="list.asp?page=<%=i%>"><%=i%></a><%next%> for....next是循环从i=1开始,循环一次加1到pagecount为止。jdwzw.cn