首先,来看看效果!

看看功能:分页程序首先读取每页预置的记录条数,在此是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留言的方式和我联系。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。