近段时间看了一些论坛上面关于分页的ASP程序依然有许多的关注者,但里面只有代码,没有详细的解释,对于初学者来说,这样总是得不到真正的掌握,此次我将针对分页技术进行详解,让大家来理解ASP分页,好了,一起来对分页程序来次透彻的了解吧! 首先,来看看演示 !
看看功能:分页程序首先读取每页预置的记录条数,在此是5条,其它将在下页中显示,同时提示当前页数、总页数、总记录数,当显示的页数为第一页时,“首页”、“上一页”链接失效,当显示的页数为最后页时,“下一页”、“尾页”链接失效。 接下来,以实例的方式告诉大家怎么一步步的做出这种分页效果。
首先,数据库中字段record_info存在于info表中(实例下载中有数据库),先链接数据库并将一个记录集打开,以下代码:
<% Set conn=Server.CreateObject(\ connstr=\ Source=\ conn.open connstr Set rs=Server.CreateObject(\ sql=\ rs.open sql,conn,1,1 %> 这段代码不详解,相信初入门的都会,具体的解释可以看看《手把手教你用ASP做留言本》教程,
接下来这是分页中比较重要的部分,了了三行而已:
<% rs.pagesize=5 curpage=Request.QueryString(\ if curpage=\ rs.absolutepage=curpage %> 第二句:rs.pagesize=5,这个什么意思呢?它就是在Recordset对象中的一个内置属性,它的作用是指定每页的记录条数,设置为5时,每5条记录放在一起成一页,比如实例中共有21条记录,那么,使用rs.pagesize分页后,这21条记录将分成5页进行显示。
第三、四句:这里主要是用于翻页的功能,将URL的post参数curpage传递给curpage变量,这个curpage将得到浏览者想要到达的页数,同时用if语句将没有传递到curpage参数的页直接赋于第一页的值。(运行一下实例就会明白)
第五句:rs.absolutepage,这个也是个内置的属性,,它代表的意思就是将curpage变量的数值指定为当前页。 出处:蓝色理想
现在开始可以让记录循环显示了:
<% for i= 1 to rs.pagesize if rs.eof then exit for end if %> <%=rs(\ <% rs.movenext next %> 第二句:
利用for循环在每页显示rs.pagesize属性中指定的记录数。 第三、四、五句:
这句意思是当最后一页达不到指定记录时就退出循环,以免出错。 第七句:
绑定从数据库取出的record_info字段,就是叫这字段内的记录循环显示的。 第九句:
用rs.movenext方法将rs记录集往下移一条记录。 第十句: for循环语句。