pagination.js无刷新实现分页

1.引入
jquery.js(自行下载)
jquery.pagination.js(自行下载)
pager.js

pagination.css(自行下载)


pager.js文件

var pageCount = 0;      //总页数
var pageIndex = 0;     //页面索引初始值
var pageSize = 10;     //每页显示条数初始化,修改显示条数,修改这里即可
var AllParams = new Object(); //页面参数
var ye = 0;            //总页数
var IsLastPage = "0";  //判断是否是最后一页

//翻页调用
function PageCallback(index, jq)
{
    AllParams.pageIndex = index + 1;
    InitTable();
}

//参数组装
function GetParams(pageIndex)
{
    var objParams;
    objParams = {
        pageIndex: pageIndex,//当前页
        pageSize: pageSize,//每页容量
        isTotal: false, //是否统计页数
        isLastPage: IsLastPage,
        //其他查询参数...
        name:$("#name").val()
    };
    return objParams;
}

//初始化数据
function InitTable()
{
    $.post("Handlers/GetDatas.ashx?rand=" + Math.random(), AllParams, function (data) {
        if (data != null && data != undefined) {
            IsLastPage = data.substring(data.length - 1);
            data = data.substring(0, data.length - 1);

            //下面往table中填充数据
            $("#Content").html("");
            $("#Content").html(data);
        }
    });
}

function PNation() {
    $("#Pagination").pagination(pageCount, {
        callback: PageCallback,
        prev_text: '上一页',       //上一页按钮里text
        next_text: '下一页',       //下一页按钮里text
        items_per_page: pageSize,  //显示条数
        num_display_entries: 6,    //连续分页主体部分分页条目数
        current_page: pageIndex,   //当前页索引
        num_edge_entries: 2        //两侧首尾分页条目数
    });
}

//初始化 共x条记录,y页
function Init()
{
    PNation();
    var num = pageCount % pageSize;
    if (num > 0)
    {
        ye = parseInt(pageCount / pageSize) + 1;
    }
    else
    {
        ye = parseInt(pageCount / pageSize);
    }
    $("#PageCount").text(pageCount + " 条 / " + ye + " 页");
}

//获取数据
function GetData() {
    AllParams = GetParams(pageIndex);
    AllParams.isTotal = true;
    $.post("Handlers/GetDatas.ashx", AllParams, function (data) {
        
        if (data != null && data != undefined)
        {
            pageCount = parseInt(data);
        }
        AllParams.isTotal = false;
        Init();
    });
}

$(function () {
    GetData();

    $("#btnSearch").click(function () {
        GetData();
    });

    //去到指定页
    $("#goto").click(function () {
        if ($("#txtGoto").val() != "") {
            var num = parseInt($("#txtGoto").val());
            if (num > 0 && num <= ye) {
                pageIndex = num - 1;
                PNation();
            }
        }
    });
});

下面是前台代码

<label>姓名:</label>
<input type="text" id="name"/>
<input  type="button" id="btnSearch" value="查询"/>
<br />
<br />
<div id="Content"></div>
<div id="TPage">
    <a class="TurnPage" id="goto" href="#">去到</a>
    <input class="TurnPage" type="text" id="txtGoto" οnkeydοwn="return keyDownInt(this);"/>
    <div id="PageCount" class="TurnPage"></div>
    <div style="float: right" id="Pagination"></div>
</div>

下面是GetData.ashx文件

public void ProcessRequest(HttpContext context)
        {
            //当前页索引
            int pageIndex;
            int.TryParse(context.Request["pageIndex"], out pageIndex);

            //每页容量
            int pageSize = Convert.ToInt32(context.Request["pageSize"]);
            if (pageIndex == 0)
            {
                pageIndex = 1;
            }

            //是否最后一页
            string IsLastPage=context.Request["isLastPage"].ToString();
            
            //获取页面查询参数
            string name = (string.IsNullOrEmpty(context.Request["name"]) ? "" :context.Request["name"].ToString());

            string strIsTotal = (string.IsNullOrEmpty(context.Request["isTotal"]) ? "false" :context.Request["isTotal"].ToString());
            bool IsTotal = Convert.ToBoolean(strIsTotal);

            string sql = "select * from Student where 1=1";
            if (name.Length > 0)
            {
                sql = sql + "and name like '%" + name + "%'";
            }

            //第一次:取数据总数
            if (IsTotal)
            {
                int iTotal = 0;
                using (DataContext dc = new DataContext(ConfigurationManager.ConnectionStrings["constr"].ToString()))
                {
                    iTotal = dc.ExecuteQuery<Student>(sql).Count();
                }
                
                context.Response.Write(iTotal);
                context.Response.End();
            }

            //第二次:取数据
            List<Student> list = new List<Student>();
            using (DataContext dc = new DataContext(ConfigurationManager.ConnectionStrings["constr"].ToString()))
            {
                list = dc.ExecuteQuery<Student>(sql).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList<Student>();
            }
            StringBuilder sb = new StringBuilder();

            if (list != null && list.Count > 0)
            {
                sb.Append("<table cellpadding='0' cellspacing='0' style='border-collapse:collapse;'>");
                sb.Append("<tr style='background:green;color:white;border-top:1px solid gray;border-bottom:1px solid gray;'>");
                sb.Append("<th>序号</th>");
                sb.Append("<th>学号</th>");
                sb.Append("<th>姓名</th>");
                sb.Append("<th>性别</th>");
                sb.Append("<th>出生日期</th>");
                sb.Append("</tr>");
                int i = 1;
                foreach (Student s in list)
                {
                    sb.Append("<tr style='border-top:1px solid gray;border-bottom:1px solid gray;'>");
                    sb.Append("<td style='padding-left:10px;padding-right:10px;'>" + i + "</td>");
                    sb.Append("<td style='padding-left:10px;padding-right:10px;'>" + s.Sno + "</td>");
                    sb.Append("<td style='padding-left:10px;padding-right:10px;'>" + s.Name + "</td>");
                    sb.Append("<td style='padding-left:10px;padding-right:10px;'>" + s.Sex + "</td>");
                    sb.Append("<td style='padding-left:10px;padding-right:10px;'>" + s.Birthday + "</td>");
                    sb.Append("</tr>");
                    i++;
                }
                sb.Append("</table>");
            }
            else
            {
                sb.Append("暂无数据");
            }
            
            string strIsLastPage = (IsLastPage=="1" ? "1" : "0");
            context.Response.Write(sb.ToString() + strIsLastPage);

下面是运行效果






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值