首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试
MPA考试 | 中科院
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT
新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
华为认证 | Java认证
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格
报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师
人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平
驾驶员 | 网络编辑
卫生资格 | 执业医师 | 执业药师 | 执业护士
会计从业资格考试会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师
注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师
质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师
设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师
城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏
您现在的位置: 考试吧(Exam8.com) > 软件水平考试 > 复习资料 > 程序员资料 > 正文

透彻掌握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(总页数)。 

文章搜索
软件水平考试栏目导航
版权声明:如果软件水平考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本软件水平考试网内容,请注明出处。