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;
               }
           }
       }  
时间: 2024-10-06 23:05:23

jquery+ajax分页的相关文章

jquery ajax分页插件特效源代码demo完整版

原文:jquery ajax分页插件特效源代码demo完整版 源代码下载地址:http://www.zuidaima.com/share/1550463586798592.htm 网上找的,原版本没有测试数据和建表脚本啥的,我给加上了.

Pagination jquery ajax 分页参考资料

http://www.zhangxinxu.com/wordpress/2010/01/jquery-pagination-ajax%E5%88%86%E9%A1%B5%E6%8F%92%E4%BB%B6%E4%B8%AD%E6%96%87%E8%AF%A6%E8%A7%A3/ 个人博客参考 中文项目地址:http://www.zhangxinxu.com/jq/pagination_zh/ 原项目地址:http://plugins.jquery.com/project/pagination 版

jquery ajax 分页

<script src="../Js/jQuery/jquery-1.8.2.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function() { $("#pages").val(Math.ceil(50 / 10)); }); //翻页 function

jquery ajax 分页2

/* * 分页 $("#divPager").flexipager * 2015.03.17 */ //初始化列表默认属性 (function($) { $.addFlex = function(t, p) { if (t.pager) return false; // 若已经存在Pager - DIV 对象则return p = $.extend({ url: false, // 获取数据源对应的url地址 async: true, // 默认异步加载(false=同步) metho

laravel5.6中jquery+ajax分页

public function shows(Request $request){ $p=$request->get("page"); $page=empty($p)?1:$p; $count=DB::table("shop")->count(); $length = 4; $num_page = ceil($count/$length); $limit = ($page-1)*$length; $data=DB::select("select

asp.net中利用Jquery+Ajax+Json实现无刷新分页(二)

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PageTest.aspx.cs" Inherits="renmai_PageTest" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xh

基于jquery的ajax分页插件(demo+源码)

前几天打开自己的博客园主页,无意间发现自己的园龄竟然有4年之久了.可是看自己的博客列表却是空空如也,其实之前也有写过,但是一直没发布(然而好像并没有什么卵用).刚开始学习编程时就接触到博客园,且在博客园学习了很多的知识,看过很多人的分享.说来也惭愧,自己没能为园友们分享自己的所学所得(毕竟水平比较差). 过去的一年也是辗转了几个城市换了几份工作(注定本命年不太平?).八月份来到现在所在的公司(OTA行业),公司是做互联网的,所以可能大家的前端都屌屌的?之前一直从事.NET开发(现在在这边也是),

jQuery、Ajax分页

1.效果图预览 2.HTML代码 <div class="row"> <div class="col-lg-12 col-sm-12 col-xs-12 col-xxs-12"> <table class="table table-striped table-hover table-bordered bootstrap-datatable " id="TemplateTable"> <

[原创]jquery+css3打造一款ajax分页插件

最近公司的项目将好多分页改成了ajax的前台分页以前写的分页插件就不好用了,遂重写一个 支持IE6+,但没有动画效果如果没有硬需求,个人认为没必要多写js让动画在这些浏览器中实现css3的动画本来就是帮我们取代js中这部分动画代码的使js更纯粹地去实现逻辑 效果图如下: 调用代码如下: 包括常用的加载失败重试,参数可配置是否能手动输入页码,设置按钮数目,可以调用多个page等等,调用代码很简便 <script type="text/javascript"> var kpag