JQuery+Ajax无刷新分页的实例代码


Posted in Javascript onFebruary 08, 2014

先看效果图:
JQuery+Ajax无刷新分页的实例代码

实现原理很简单,使用了jquery.pagination这个插件,每当点击页码时异步去服务器去取该页的数据,简单介绍如下:
一、数据库表结构:很简单  就四个字段 分别是News_id  News_title  News_time  News_readtimes

二、前台页面代码:

<head runat="server">
    <title>JQuery无刷新分页</title>
    <link href="Styles/common.css" rel="stylesheet" type="text/css" />
    <link href="Styles/paging.css" rel="stylesheet" type="text/css" />
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script src="Scripts/jquery.pagination.js" type="text/javascript"></script>
    <script type="text/javascript">    
    var pageIndex = 0;
    var pageSize = 3;    $(function() {       
        InitTable(0);              
        $("#Pagination").pagination(<%=pageCount %>, {
            callback: PageCallback,
            prev_text: '上一页',
            next_text: '下一页',
            items_per_page: pageSize,
            num_display_entries: 6,//连续分页主体部分分页条目数
            current_page: pageIndex,//当前页索引
            num_edge_entries: 2//两侧首尾分页条目数
        });
        //翻页调用
        function PageCallback(index, jq) {           
            InitTable(index);
        }

        //请求数据
        function InitTable(pageIndex) {                                
            $.ajax({ 
                type: "POST",
                dataType: "text",
                url: 'Ajax/PagerHandler.ashx',
                data: "pageIndex=" + (pageIndex + 1) + "&pageSize=" + pageSize,
                success: function(data) {                                 
                    $("#Result tr:gt(0)").remove();//移除Id为Result的表格里的行,从第二行开始(这里根据页面布局不同页变)
                    $("#Result").append(data);//将返回的数据追加到表格
                }
            });            
        }
    });
    </script>
</head>

<form id="form1" runat="server">
    <center>
        <table id="Result" border="1" cellpadding="5" style="border-collapse: collapse; margin:20px;
            border: solid 1px #85A8BE;width:60%">
            <tr>
                <th style="width: 10%">
                    ID
                </th>
                <th style="width: 60%">
                    标题
                </th>
                <th style="width: 20%">
                    更新时间
                </th>
                <th style="width: 10%">
                    点击量
                </th>
            </tr>
        </table>
        <div id="Pagination" class="paging">
        </div>
    </center>
    </form>

三、页面后台文件

这里主要是获取记录总数:

public string pageCount = string.Empty;//总条目数
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                pageCount = new News().GetNewsCount();
            }
        }

四、最主要的是ajax处理程序:PagerHandler.ashx
 public class PagerHandler : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string str = string.Empty;
            int pageIndex = Convert.ToInt32(context.Request["pageIndex"]);
            int size = Convert.ToInt32(context.Request["pageSize"]);
            if (pageIndex == 0)
            {
                pageIndex = 1;
            }
            int count = 0;
            News n = new News();
            List<News> list = n.GetNewsList(pageIndex, size, ref count);
            StringBuilder sb = new StringBuilder();
            foreach (News p in list)
            {
                sb.Append("<tr><td>");
                sb.Append(p.News_id);
                sb.Append("</td><td>");
                sb.Append("<a href='#'>"+p.News_title+"</a>");
                sb.Append("</td><td>");
                sb.Append(p.News_time);
                sb.Append("</td><td>");
                sb.Append(p.News_readtimes);
                sb.Append("</td></tr>");
            }
            str = sb.ToString();
            context.Response.Write(str);
        }
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
Javascript 相关文章推荐
List Information About the Binary Files Used by an Application
Jun 18 Javascript
JavaScript 继承详解(二)
Jul 13 Javascript
javascript 用原型继承来实现对象系统
Mar 22 Javascript
jquery设置元素的readonly和disabled的写法
Sep 22 Javascript
JS实现根据出生年月计算年龄
Jan 10 Javascript
JavaScript阻止事件冒泡示例分享
Dec 28 Javascript
jQuery ajax方法传递中文时出现中文乱码的解决方法
Jul 25 Javascript
jQuery实现 上升、下降、删除、添加一行代码
Mar 06 Javascript
JavaScript mixin实现多继承的方法详解
Mar 30 Javascript
基于vuejs实现一个todolist项目
Apr 11 Javascript
js实现继承的方法及优缺点总结
May 08 Javascript
js模拟F11页面全屏显示
Sep 17 Javascript
JavaScript的strict模式与with关键字介绍
Feb 08 #Javascript
jquery ajax 局部无刷新更新数据的实现案例
Feb 08 #Javascript
jquery ajax 局部刷新小案例
Feb 08 #Javascript
Jquery实现控件的隐藏和显示实例
Feb 08 #Javascript
二叉树的非递归后序遍历算法实例详解
Feb 07 #Javascript
Select标签下拉列表二级联动级联实例代码
Feb 07 #Javascript
javascript运行机制之this详细介绍
Feb 07 #Javascript
You might like
杏林同学录(八)
2006/10/09 PHP
ThinkPHP进程计数类Process用法实例详解
2015/09/25 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
2018/05/21 PHP
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
jQuery插件 selectToSelect使用方法
2013/10/02 Javascript
使图片旋转的3种解决方案
2013/11/21 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
2016/01/22 Javascript
如何检测JavaScript的各种类型
2016/07/30 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
js实现三级联动效果(简单易懂)
2017/03/27 Javascript
JSON对象转化为字符串详解
2017/08/11 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
vue开发环境配置跨域的方法步骤
2019/01/16 Javascript
教你完全理解ReentrantLock重入锁
2019/06/03 Javascript
微信小程序 wxParse插件显示视频问题
2019/09/27 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
JS实现多选框的操作
2020/06/24 Javascript
vue iview 隐藏Table组件里的某一列操作
2020/11/13 Javascript
微信小程序自定义胶囊样式
2020/12/27 Javascript
python构造icmp echo请求和实现网络探测器功能代码分享
2014/01/10 Python
PyCharm使用教程之搭建Python开发环境
2016/06/07 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
基于keras中的回调函数用法说明
2020/06/17 Python
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
HTML5上传文件显示进度的实现代码
2012/08/30 HTML / CSS
基于Html5 canvas实现裁剪图片和马赛克功能及又拍云上传图片 功能
2019/07/09 HTML / CSS
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
微软加拿大官方网站:Microsoft Canada
2019/04/28 全球购物
JPA的优势都有哪些
2013/07/04 面试题
毕业生实习鉴定
2013/12/11 职场文书
2014年团总支工作总结
2014/11/21 职场文书
广告业务员岗位职责
2015/02/13 职场文书
浅谈CSS不规则边框的生成方案
2021/05/25 HTML / CSS
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL