彻底掌握ASP分页技术杂谈

近段时间看了一些论坛上面关于分页的ASP程序依然有许多的关注者,但里面只有代码,没有详细的解释,对于初学者来说,这样总是得不到真正的掌握,此次我将针对分页技术进行详解,让大家来理解ASP分页,好了,一起来对分页程序来次透彻的了解吧!

首先,来看看演示 !

看看功能:分页程序首先读取每页预置的记录条数,在此是5条,其它将在下页中显示,同时提示当前页数、总页数、总记录数,当显示的页数为第一页时,“首页”、“上一页”链接失效,当显示的页数为最后页时,“下一页”、“尾页”链接失效。

接下来,以实例的方式告诉大家怎么一步步的做出这种分页效果。

首先,数据库中字段record_info存在于info表中(实例下载中有数据库),先链接数据库并将一个记录集打开,以下代码:

<%

Set conn=Server.CreateObject("Adodb.Connection")

connstr="provider=Microsoft.JET.OLEDB.4.0;Data Source="&Server.MapPath("data.mdb")

conn.open connstr

Set rs=Server.CreateObject("Adodb.Recordset")

sql="Select * from info"

rs.open sql,conn,1,1

%>

这段代码不详解,相信初入门的都会,具体的解释可以看看《手把手教你用ASP做留言本》教程,

接下来这是分页中比较重要的部分,了了三行而已:

<%

rs.pagesize=5

curpage=Request.QueryString("curpage")

rs.absolutepage=curpage

%>

第二句:
rs.pagesize=5,这个什么意思呢?它就是在Recordset对象中的一个内置属性,它的作用是指定每页的记录条数,设置为5时,每5条记录放在一起成一页,比如实例中共有21条记录,那么,使用rs.pagesize分页后,这21条记录将分成5页进行显示。

第三句:
这里主要是用于翻页的功能,将URL的post参数curpage传递给curpage变量,这个curpage将得到浏览者想要到达的页数。(运行一下实例就会明白)
第四句:
rs.absolutepage,这个也是个内置的属性,,它代表的意思就是将curpage变量的数值指定为当前页。

现在开始可以让记录循环显示了:

<%
for i= 1 to rs.pagesize
if rs.eof then
exit for
end if
%>
<%=rs("record_info")%><br>
<%
rs.movenext
next
%>

第二句:
利用for循环在每页显示rs.pagesize属性中指定的记录数。

第三、四、五句:
这句意思是当最后一页达不到指定记录时就退出循环,以免出错。

第七句:
绑定从数据库取出的record_info字段,就是叫这字段内的记录循环显示的。

第九句:
用rs.movenext方法将rs记录集往下移一条记录。

第十句:
for循环语句。

另外可以用<%=curpage%>读出当前页次,用<%=rs.pagecount%>读出总页数,用<%=rs.recordcount%>读出总记录数。例如:“当前第<%=curpage%>页,共有<%=rs.pagecount%>页,共有:<%=rs.recordcount%>条记录”。

在显示首页、上页、下页、尾页功能上,采用了if...else...语句,比较好懂。

<%if curpage=1 then%>
首页
<%else%>
<a href="?curpage=1">首页</a>
<%end if%>

<%if curpage=1 then%>
上一页
<%else%>
<a href="?curpage=<%=curpage-1%>">上一页</a>
<%end if%>

<%if rs.pagecount<curpage+1 then%>
下一页
<%else%>
<a href="?curpage=<%=curpage+1%>">下一页</a>
<%end if%>

<%if rs.pagecount<curpage+1 then%>
尾页
<%else%>
<a href="?curpage=<%=rs.pagecount%>">尾页</a>
<%end if%>

理解一下:

首页:
这个使用当前页是否为第一页时判别,如果当前为第一页(也就是首页),那么显示首页两字,没有链接,否则提供直接跳转到首页的链接。 
上一页:
当前为第一页时,链接失效,反过来,链接到当前面的上一页,这里使用:<%=curpage-1%>,就是用当前的页数减去1,得到上一页。 
下一页:
这里需要使用rs.pagecount这个属性来比较,假如总页数小于当前页数加1的值,那表明这就是第后一页,链接将失效,否则链接到下一页。 
尾页:
和下一页的功能一样判定出是最后页时链接失效,否则将当前页指定为rs.pagecount(总页数)。 
这个教程到此结束,经过讲解,大家应该对ASP的分页技术有较深的理解了吧?有问题可以通过在blog留言的方式和我联系。

时间: 2024-09-24 03:09:28

彻底掌握ASP分页技术杂谈的相关文章

彻底掌握ASP分页技术杂谈_应用技巧

近段时间看了一些论坛上面关于分页的ASP程序依然有许多的关注者,但里面只有代码,没有详细的解释,对于初学者来说,这样总是得不到真正的掌握,此次我将针对分页技术进行详解,让大家来理解ASP分页,好了,一起来对分页程序来次透彻的了解吧! 首先,来看看演示 !看看功能:分页程序首先读取每页预置的记录条数,在此是5条,其它将在下页中显示,同时提示当前页数.总页数.总记录数,当显示的页数为第一页时,"首页"."上一页"链接失效,当显示的页数为最后页时,"下一页&qu

ASP学习之透彻掌握ASP分页技术

近段时间看了一些论坛上面关于分页的ASP程序依然有许多的关注者,但里面只有代码,没有详细的解释,对于初学者来说,这样总是得不到真正的掌握,此次我将针对分页技术进行详解,让大家来理解ASP分页,好了,一起来对分页程序来次透彻的了解吧! 首先,来看看效果 ! 看看功能:分页程序首先读取每页预置的记录条数,在此是5条,其它将在下页中显示,同时提示当前页数.总页数.总记录数,当显示的页数为第一页时,"首页"."上一页"链接失效,当显示的页数为最后页时,"下一页&q

透彻掌握ASP分页技术很详细的分析_应用技巧

首先,来看看效果! 看看功能:分页程序首先读取每页预置的记录条数,在此是5条,其它将在下页中显示,同时提示当前页数.总页数.总记录数,当显示的页数为第一页时,"首页"."上一页"链接失效,当显示的页数为最后页时,"下一页"."尾页"链接失效. 接下来,以实例的方式告诉大家怎么一步步的做出这种分页效果. 首先,数据库中字段record_info存在于info表中(学习ASP分页的时候估计你对数据库也有了一定的了解),先链接数据库

透彻掌握ASP分页技术很详细的分析

首先,来看看效果! 看看功能:分页程序首先读取每页预置的记录条数,在此是5条,其它将在下页中显示,同时提示当前页数.总页数.总记录数,当显示的页数为第一页时,"首页"."上一页"链接失效,当显示的页数为最后页时,"下一页"."尾页"链接失效. 接下来,以实例的方式告诉大家怎么一步步的做出这种分页效果. 首先,数据库中字段record_info存在于info表中(学习ASP分页的时候估计你对数据库也有了一定的了解),先链接数据库

ASP分页技术源码

分页 <%''本程序文件名为:Pages.asp%> <%''包含ADO常量表文件adovbs.inc,可从"\Program Files\Common Files\System\ADO"目录下拷贝%><!--#Include File="adovbs.inc"--><%''*建立数据库连接,这里是Oracle8.05数据库Set conn=Server.CreateObject("ADODB.Connection

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

先我们来理解一下原理 首页: 这个使用当前页是否为第一页时判别,如果当前为第一页(也就是首页),那么显示首页两字,没有链接,否则提供直接跳转到首页的链接.   上一页: 当前为第一页时,链接失效,反过来,链接到当前面的上一页,这里使用:<%=curpage-1%>,就是用当前的页数减去1,得到上一页.   下一页: 这里需要使用rs.pagecount这个属性来比较,假如总页数小于当前页数加1的值,那表明这就是第后一页,链接将失效,否则链接到下一页. 尾页: 和下一页的功能一样判定出是最后页时

菜鸟十天学会ASP教程之第十天:分页技术

分页|教程|十天学会 上一节:Session组件 学习目的:分页技术 今天最后一天我们学习一下ASP里面稍微难一点地分页技术,毕竟当我们有N条记录的时候我们不可能把所有记录显示在一个页面里面吧. <%exec="select * from test"set rs=server.createobject("adodb.recordset")rs.open exec,conn,1,1rs.PageSize=3pagecount=rs.PageCount page=

用Dreamweaver和ASP实现分页技术的参考

dreamweaver|参考|分页 今天心情有点激动,想把"关于用DW+ASP实现分页技术的参考"分享给用DW+ASP做网页的朋友们.去掉只有"第一页,前一页,下一页,最后一页"的小痛苦 此效果最后的显示是:第N页[共*页] <<1 2 3 4 5 6 7 8 9 10 >>. 用DW+ASP做网页时,在绑定记录集后,代码页里马上出现以下代码: <%  Dim Recordset1  Dim Recordset1_numRows  Se

用Dreamweaver+ASP实现分页技术的参考

dreamweaver|参考|分页 今天心情有点激动,想把"关于用DW+ASP实现分页技术的参考"分享给用DW+ASP做网页的朋友们.去掉只有"第一页,前一页,下一页,最后一页"的小痛苦 此效果最后的显示是:第N页[共*页] <<1 2 3 4 5 6 7 8 9 10 >>. 用DW+ASP做网页时,在绑定记录集后,代码页里马上出现以下代码: <%  Dim Recordset1  Dim Recordset1_numRows  Se