一聚教程网:一个值得你收藏的教程网站

热门教程

asp分页技术详解讲解(上一页/下一页)

时间:2022-06-29 15:11:26 编辑:袖梨 来源:一聚教程网

先我们来理解一下原理

首页:

这个使用当前页是否为第一页时判别,如果当前为第一页(也就是首页),那么显示首页两字,没有链接,否则提供直接跳转到首页的链接。
 
上一页:

当前为第一页时,链接失效,反过来,链接到当前面的上一页,这里使用:<%=curpage-1%>,就是用当前的页数减去1,得到上一页。
 
下一页:

这里需要使用rs.pagecount这个属性来比较,假如总页数小于当前页数加1的值,那表明这就是第后一页,链接将失效,否则链接到下一页。

尾页:

和下一页的功能一样判定出是最后页时链接失效,否则将当前页指定为rs.pagecount(总页数)。

知道上面的东西了,我们就可以根据要求进行分页代码了。


在需要显示页码的页面:

实例1

 代码如下 复制代码

page=cint(request("page")) 'page是url中页码的参数
querys="..."  '定义url的其他参数


rs.PageSize=30 '每页条数,自己设定
dim pagecount=rs.PageCount
rs.AbsolutePage=pageno

if pagecount>1 then
response.write("分页: ")
outpages pagecount,page ''''''此处'显示页码,函数见后
response.write "

"
end if


dim showcount=0
do while (not rs.eof and showcount    显示每条内容
   showcount=showcount+1
rs.movenext
loop

 

'以下为显示页码的函数,可单独放在一个文件中:

 代码如下 复制代码

sub outpages(pagecount,curpage)

 yyy=int((curpage-1)/10)
 startno=yyy*10+1
 endno=startno+10-1


 if startno<1 then startno=1
 if endno>pagecount then endno=pagecount

 response.write ""

 if startno>1 then
  response.write "  <<  "
 end if


 for j=startno to endno
  if j=page then
   response.write " "&j&"  "
  else
   response.write " ["&j&"]  "
  end if
 next


 if pagecount>endno then
  response.write "  >>"
 end if

 response.write ""

end sub

实例2

 代码如下 复制代码

<%
set conn=server.createobject("adodb.connection")
conn.open("DRIVER=Driver do Microsoft Access (*.mdb);UID=admin;pwd=;dbq="&server.mappath("1.mdb"))
set rs=server.createobject("adodb.recordset")
sql="select * from student"
rs.open sql,conn,3
rs.pagesize=20
if request("page")<>"" then
  epage=cint(request("page"))
   if epage<1 then epage=1
   if epage>rs.pagecount then epage=rs.pagecount
else
epage=1
end if
rs.absolutepage=epage
%>





<%
for i=0 to rs.pagesize-1
if rs.bof or rs.eof then exit for
%>



<%
rs.movenext()
next
%>
<%=rs(0).name%><%=rs(1).name%><%=rs(2).name%>
<%=rs(0).value%><%=rs(1).value%><%=rs(2).value%>


首页 
前一页 
后一页 
末页


现在是第<%=epage%>页一共有<%=rs.pagecount%>页


<%
conn.close()
%>


表有三个字段,表明为student其他的就不需要改了,那个pagesize也可以改一下,如果记录少的话.

在asp中实现分页有几个关键的命令

 代码如下 复制代码
rs.PageSize=30 '每页条数,自己设定
dim pagecount=rs.PageCount
rs.AbsolutePage=pageno

这三个是我们asp中分页必须用到的,否则你的分页就不会成功哦,这也是asp的短板了让人摸不差头脑的做法。

热门栏目