当前位置: 首页 > 图文教程 > 网络编程 > ASP > 透彻掌握ASP分页技术很详细的分析

ASP
asp分页(自己整理的2个分页程序)
ASP常用的系统配置函数
雨哲防采集策略之列表篇
雨哲浅谈关于防采集而不影响收录内容篇
asp数据库连接函数
ajax XMLHTTP Post Form时的表单乱码综合解决
ASP注入详细命令40条
用ASP实现MSSQL用户密码破解
ASP创建对象的两种方法比较
ASP字符串转换为整形、双精度型、布尔
ASP计算str2在str1中出现的次数
asp采集抓取网上房产信息的代码
ASP注册登陆实例代码
ASP中使用FileSystemObject时提高性能的方法
分享一个好东东,动态Include文件 (Dynamic File Includes)
解决 JScript 中使用日期类型数据时出现类型错误的问题
在ASP里面创建GUID
在JScript中使用缓存技术的实际代码
ASP javascript Application对象的Contents和StaticObjects做Cache的一些经验
海阳2006+功能中的潜水王

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 34 ::
收藏到网摘: n/a

一些论坛上面关于分页的ASP程序依然有许多的关注者,但里面只有代码,没有详细的解释,对于初学者来说,这样总是得不到真正的掌握,此次我将针对分页技术进行详解,让大家来理解ASP分页! 首先,来看看效果!
看看功能:分页程序首先读取每页预置的记录条数,在此是5条,其它将在下页中显示,同时提示当前页数、总页数、总记录数,当显示的页数为第一页时,“首页”、“上一页”链接失效,当显示的页数为最后页时,“下一页”、“尾页”链接失效。
接下来,以实例的方式告诉大家怎么一步步的做出这种分页效果。
首先,数据库中字段record_info存在于info表中(学习ASP分页的时候估计你对数据库也有了一定的了解),先链接数据库并将一个记录集打开,以下代码:
以下为引用的内容:
<%
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留言的方式和我联系。