分页插件-jquery.pagination

一、脚本引入

    <script src="~/Scripts/jquery-1.8.2.js"></script>
    <script src="~/Scripts/jquery.pagination.js"></script>   //插件下载地址 http://pan.baidu.com/s/1sj1BgyL

    <link href="~/Content/CSS/Public/pagination.css" rel="stylesheet" />

二、前台代码

        <div id="backHtml"></div>
         <div id="pagination" class="pagination"></div>

三、脚本代码

<script type="text/javascript">
        $(function () {
            LoadDataPage();
        })


        function LoadDataPage() {
            var url = "/Shift/GetPage";
            var pageCount = 0;
            var pageSize = 0;
            var Page = 0;
            $.ajax({
                url: url,  //后台处理程序  
                type: "post",    //数据发送方式  
                async: false,
                dataType: "html",   //接受数据格式     
                success: function (data) {
                    pageCount = parseInt($(data).find("Count").text());
                    pageSize = parseInt($(data).find("PageSize").text());
                    Page = parseInt($(data).find("Page").text());
                    $("#pagination").pagination(pageCount, {
                        callback: pageselectCallback,
                        num_edge_entries: 1,//两侧首尾分页条目数  
                        prev_text: "上一页",//上一页按钮里text  
                        prev_show_always: true,//是否上一页显示按钮
                        next_text: "下一页",//下一页按钮里text  
                        next_show_always: true,//是否下一页显示按钮
                        items_per_page: pageSize,//显示条数 
                        current_page: Page, //当前页索引  
                        link_to: '#',//分页链接
                        num_display_entries: 3//连续分页主体部分分页条目数  
                    });
                },
                error: function () {
                    alert("服务器没有返回数据,可能服务器忙,请重试");
                }
            })
        }
        //分页回调函数
        function pageselectCallback(page_id, jq) {
            $.ajax({
                async: false,
                dataType: "xml",
                type: "post",
                url: "/Shift/GetIndex?page=" + (parseInt(page_id) + parseInt(1)), //请求的处理数据 
                //传入的参数,第一个参数就是分页的页数,第二个参数为排序的依据   
                //下面的操作就是成功返回数据以后,进行数据的绑定   
                success: function (data) {
                    var html = $(data).find("html").text();
                    $("#backHtml").html(html);
                }
            });
        }

    </script>


四、后台代码(控制器 ShiftController)

public string GetPage()
        {
            List<TeamManage> tms = db.TeamManage.ToList();
            int page = Request.QueryString["page"].TrySetInt(1);
            string xmlPageInfo = PageCreateXml(tms.Count, pageSize, page - 1);
            return xmlPageInfo;
        }


        [HttpPost]
        public string GetIndex()
        {
                StringBuilder equipmentTable = new StringBuilder();


                //具体的页面数
                int page;
                int.TryParse(Request.QueryString["page"], out page);


                if (page == 0)
                {
                    page = 1;
                }
                int RowIndex = pageSize * (page - 1) + 1;


                List<TeamManage> etmsList = db.TeamManage.OrderBy(t => t.ID).Skip((page - 1) * pageSize).Take(pageSize).ToList();
                if (etmsList.Count > 0)
                {
                    foreach (var item in etmsList)
                    {


                        equipmentTable.Append("<div>"+RowIndex+item.Name+"</div>");
                        RowIndex++;
                    }
                }
                else
                {
                    equipmentTable.Append("<div>没有数据</div>");
                }
                return CreateXml(equipmentTable.ToString());
        }


        public static string PageCreateXml(int CountXml, int PageSizeXml, int PageXml)
        {
            XmlDocument doc = new XmlDocument();
            XmlDeclaration xmldecl = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
            XmlElement root = doc.CreateElement("root");


            XmlNode Count = doc.CreateElement("Count");
            Count.InnerText = CountXml.ToString();
            root.AppendChild(Count);


            XmlNode PageSize = doc.CreateElement("PageSize");
            PageSize.InnerText = PageSizeXml.ToString();
            root.AppendChild(PageSize);


            XmlNode Page = doc.CreateElement("Page");
            Page.InnerText = PageXml.ToString();
            root.AppendChild(Page);


            doc.AppendChild(root);
            doc.InsertBefore(xmldecl, root);
            return doc.InnerXml;
        }


        public static string CreateXml(string html)
        {
            XmlDocument doc = new XmlDocument();
            XmlDeclaration xmldecl = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
            XmlElement root = doc.CreateElement("root");


            XmlNode myhtml = doc.CreateElement("html");
            myhtml.InnerText = html;
            root.AppendChild(myhtml);


            doc.AppendChild(root);
            doc.InsertBefore(xmldecl, root);
            return doc.InnerXml;
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值