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 相关文章推荐
js限制文本框只能输入数字(正则表达式)
Jul 15 Javascript
javascript自动给文本url地址增加链接的方法分享
Jan 20 Javascript
微信小程序 less文件编译成wxss文件实现办法
Dec 05 Javascript
bootstrap输入框组使用方法
Feb 07 Javascript
基于jquery日历价格、库存等设置插件
Jul 05 jQuery
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
Apr 08 Javascript
详解vue的diff算法原理
May 20 Javascript
JS/HTML5游戏常用算法之碰撞检测 地图格子算法实例详解
Dec 12 Javascript
js 将线性数据转为树形的示例代码
May 28 Javascript
如何HttpServletRequest文件对象并储存
Aug 14 Javascript
openLayer4实现动态改变标注图标
Aug 17 Javascript
vue实现简单数据双向绑定
Apr 28 Vue.js
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
星际争霸, 教主第一视角, ZvT经典龙蛇演义
2020/03/02 星际争霸
自制基于jQuery的智能提示插件一枚
2011/02/18 Javascript
利用javascript数组长度循环数组内所有元素
2013/12/27 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
2016/05/23 Javascript
JavaScript制作简易计算器(不用eval)
2017/02/05 Javascript
JQuery中Ajax的操作完整例子
2017/03/07 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
微信小程序实现美团菜单
2018/06/06 Javascript
详解webpack的文件监听实现(热更新)
2020/09/11 Javascript
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
Python下rrdtool模块的基本使用方法
2015/11/13 Python
Python单例模式的两种实现方法
2017/08/14 Python
python3.6 实现AES加密的示例(pyCryptodome)
2018/01/10 Python
Python爬虫抓取代理IP并检验可用性的实例
2018/05/07 Python
对Python实现简单的API接口实例讲解
2018/12/10 Python
Python threading的使用方法解析
2019/08/28 Python
Tensorflow的梯度异步更新示例
2020/01/23 Python
Python发送邮件封装实现过程详解
2020/05/09 Python
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
关于Assembly命名空间的三个面试题
2015/07/23 面试题
27个经典Linux面试题及答案,你知道几个?
2014/03/11 面试题
老教师工作总结的自我评价
2013/09/27 职场文书
信息系统专业个人求职信范文
2013/12/07 职场文书
大学生职业规划书的范本
2014/02/18 职场文书
如何写自我鉴定
2014/03/19 职场文书
法人代表任命书范本
2014/06/05 职场文书
校长一岗双责责任书
2015/05/09 职场文书
加薪申请报告范本
2015/05/15 职场文书
元宵节晚会主持词
2015/07/01 职场文书
教师节座谈会主持词
2015/07/03 职场文书
小学入学感言
2015/08/01 职场文书
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL
《总之就是很可爱》新作短篇动画《总之就是很可爱~制服~》将于2022年夏天播出
2022/04/07 日漫
Go gRPC进阶教程gRPC转换HTTP
2022/06/16 Golang