主页 > 知识库 > ASP ajax分页教程一

ASP ajax分页教程一

热门标签:团购网站 Mysql连接数设置 服务器配置 阿里云 电子围栏 Linux服务器 科大讯飞语音识别系统 银行业务
为什么我写ASP分页教程要提到AJAX呢,因为我们要多练习一下编程过程中,结构化的重要性.
再加上很多朋友对分页感到很高深,所以一直都不敢去碰他,要么就用别人写好的组件,要么就是改改别人的东西.特别是.net,我深有感触,假如要快速开发一个项目,我想.net是一个非常优秀的平台.但是,因为他的严重控件化,反而是新手接触不到编程的思想,完全找不到编程的感觉,仿佛就象在搭积木.有时候还是要练习一下底层一点的东西,这样个人的技术能力才会得到提高.我可不想做只会用.NET的组装工人.
好了,下面给出ASP分页的源代码给大家,都进行了详细的注释,一般都可以看的懂.
因为这个是教程一,所以就从最简单的开始,我直接使用的AbsolutePage来定义当前页面,所以没有用诸如MoveFirst这种比较复杂的游标方式,而且分页也是用的下拉选择框,等下个教程我再写一下进阶分页方法,给出前进十页,后退十页,只显示目前所在的十页分组的方法.
ASP虽然是一个过时的东西,不过因为他可以使用JS来写,所以我感觉要做一个项目DEMO的时候,使用ASP要比.NET或者JAVA更方便,因为他不用安装体积庞大的环境.简简单单配置一下就可以了.真要大规模项目开发的话,我肯定还是会用.NET或JAVA的,因为这样就会涉及到效率问题了. 
复制代码 代码如下:

%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
%
//定义数据库连接语句
var connstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+Server.MapPath("database/vote.mdb");
//建立一个rs数据库查询
var rs = Server.CreateObject("ADODB.Recordset")
//rs连接方式
rs.ActiveConnection = connstring
//rs查询语句(按照用户提交时间倒序查询)
rs.Source = "select * from users order by usetime DESC"
//定义数据库查询模式
rs.CursorType = 3
rs.CursorLocation = 3
rs.LockType = 1
//定义每页显示数据数量
rs.PageSize = 10
//打开数据库连接
rs.Open()
//定义数据库纪录总数,分页总数,URL路径
var counts,pagecos,thisUrl
counts = rs.RecordCount
pagecos = rs.PageCount
thisUrl = Request.ServerVariables("URL")
//如果游标在表中就执行
if(!rs.EOF || !rs.BOF){
//如果url的page参数不为空就执行
if(Request("page").Count != 0){
//定义默认链接字符串,第一页,尾页,上页,下页
//URL的page值(指定的当前页),当前页,当前每页显示数据数量
var defaltStr,firstpage,lastpage,prepage,nextpage,pages,nowPage,nowSize
defaltStr = 'a href="'+thisUrl+'?page='
firstpage = defaltStr+'1">首页/a>'
lastpage = defaltStr+pagecos+'">尾页/a>'
pages = Request("page")
//如果处于第一页
//首页,上一页不为链接
if(pages = 1){
rs.AbsolutePage = 1;
firstpage = '首页'
prepage = '上一页'
nextpage = defaltStr+'2">下一页/a>'
//如果处于最后一页
//尾页,下一页不为链接
}else if(pages >= pagecos){
rs.AbsolutePage = pagecos;
prepage = defaltStr+(pagecos-1)+'">上一页/a>'
lastpage = '尾页'
nextpage = '下一页'
}else{
rs.AbsolutePage = pages
prepage = defaltStr+(Number(pages)-1)+'">上一页/a>'
nextpage = defaltStr+(Number(pages)+1)+'">下一页/a>'
}
}
nowPage = rs.AbsolutePage
nowSize = rs.PageSize
//如果处于最后一页,并且数据显示数量与每页显示数据数量不相等时
//因为最后一页不可能每次都刚好与每页显示数据数量相等
//所以需要定义一个不相等的方法
if(nowPage >= pagecos (pagecos*rs.PageSize)%counts != 0){
nowSize = counts%rs.PageSize
}
%>
table width="100%" border="0" cellspacing="0" cellpadding="0" class="userinfo">
tr>
td align="center">
!--显示首页,上一页 -->
%=firstpage%> %=prepage%> 
跳转到第 select onchange="location.href='%=thisUrl%>?page='+this.value">
%
//分页依靠循环显示
for(var num=1; num=pagecos; num++){
if(nowPage == num){
%>
option value="%=num%>" selected="selected">%=num%>/option>
%
}else{
%>
option value="%=num%>">%=num%>/option>
%
}
}
%>
/select> 页
!--显示下一页,尾页 -->
 %=nextpage%> %=lastpage%>
!--显示当前页数,总页数,总记录数,每页显示数据数量 -->
 共 %=nowPage%> / %=pagecos%> 页 %=counts%> / %=rs.PageSize%> 条记录
/td>
/tr>
%
//内容依靠循环显示
for(var i=1;i=nowSize;i++){
%>
tr>
td>span>用户IP:/span>%=rs("usip")%>/td>
/tr>
tr>
td>span>建议:/span>%=rs("us1")%>/td>
/tr>
tr>
td>span>提交时间:/span>%=rs("usetime")%>/td>
/tr>
%
//数据库游标向移向下一条记录
rs.MoveNext();
}
%>
/table>
%
//如果数据库游标不在数据库列中
}else{
Response.Write("没有用户信息!")
}
//关闭数据库连接
rs.Close()
%>
您可能感兴趣的文章:
  • Ajax.基础教程 电子书版 提供下载
  • 比较简单的jquery教程 Easy Ajax with jQuery 中文版全集
  • Ajax+PHP简单基础入门实例教程
  • jquery 框架使用教程 AJAX篇
  • 十大最佳Ajax教程收集(图文)
  • jquery1.4 教程二 ajax方法的改进
  • 分享精心挑选的12款优秀jQuery Ajax分页插件和教程
  • ThinkPHP中ajax使用实例教程
  • AJAX初级教程之初识AJAX
  • ajax初级教程之获取博文列表

标签:萍乡 大理 广元 蚌埠 江苏 衡水 衢州 枣庄

巨人网络通讯声明:本文标题《ASP ajax分页教程一》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266