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 相关文章推荐
JavaScript 异步调用框架 (Part 2 - 用例设计)
Aug 03 Javascript
js中settimeout方法加参数的使用实例
Feb 27 Javascript
javascript处理表单示例(javascript提交表单)
Apr 28 Javascript
详解addEventListener的三个参数之useCapture
Mar 16 Javascript
使用vue.js开发时一些注意事项
Apr 27 Javascript
JavaScript学习笔记--常用的互动方法
Dec 07 Javascript
canvas实现动态小球重叠效果
Feb 06 Javascript
JavaScript基础进阶之数组方法总结(推荐)
Sep 04 Javascript
Three.js基础学习之场景对象
Sep 27 Javascript
vue实现在一个方法执行完后执行另一个方法的示例
Aug 25 Javascript
JS中验证整数和小数的正则表达式
Oct 08 Javascript
基于JS实现一个随机生成验证码功能
May 29 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
web 页面分页打印的实现
2009/06/22 Javascript
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
js中settimeout方法加参数的使用实例
2014/02/27 Javascript
如何设置一定时间内只能发送一次请求
2014/02/28 Javascript
javascript中call和apply的用法示例分析
2015/04/02 Javascript
使用jQuery实现更改默认alert框体
2015/04/13 Javascript
在JavaScript中call()与apply()区别
2016/01/22 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
jquery判断iPhone、Android设备类型
2016/09/14 Javascript
ReactJs快速入门教程(精华版)
2016/11/28 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
如何选择适合你的JavaScript框架
2017/11/20 Javascript
javascript中new Array()和var arr=[]用法区别
2017/12/01 Javascript
详解vue中使用微信jssdk
2019/04/19 Javascript
在layui中select更改后生效的方法
2019/09/05 Javascript
javascript/jquery实现点击触发事件的方法分析
2019/11/11 jQuery
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
在vue中动态修改css其中一个属性值操作
2020/12/07 Vue.js
在Python中使用PIL模块对图片进行高斯模糊处理的教程
2015/05/05 Python
python计算圆周率pi的方法
2015/07/11 Python
Python功能点实现:函数级/代码块级计时器
2019/01/02 Python
python安装gdal的两种方法
2019/10/29 Python
Python+PyQt5实现灭霸响指功能
2020/05/25 Python
德国前卫设计师时装在线商店:Luxury Loft
2019/11/04 全球购物
澳大利亚购买健身器材网站:Gym Direct
2019/12/19 全球购物
大学生职业生涯设计书
2014/01/02 职场文书
文明青少年标兵事迹材料
2014/01/28 职场文书
六个一活动实施方案
2014/03/21 职场文书
小学爱国卫生月活动总结
2014/06/30 职场文书
机关作风整顿个人整改措施思想汇报
2014/09/29 职场文书
教育项目合作协议书格式
2014/10/17 职场文书
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
2021/06/11 Python
Vue组件化(ref,props, mixin,.插件)详解
2022/05/15 Vue.js