基於bootstrap的局部刷新的分頁


在之前的工作中我用的分頁有很多,一直不牢固,所以自己用起來也不是很順手,這是一個局部刷新的分頁,我試了很多,本想用mvcPager來做局部刷新,但是考慮到成本太高,放棄了,先來總結一下基於bootstrap的分頁吧,便於自己以后使用

開源地址 https://github.com/lyonlai/bootstrap-paginator

首先引用

Jquery

bootstrap.min.js

bootstrap-paginator.min.js

控制器代碼

 [AuthorizationCodeAttribute]
        [Description("評論信息")]
        [HttpPost]
        public ActionResult Comment(int id, int? page)
        {
            #region 評論列表         
            var dal = new CarCommentOperator();
            int pageIndex = page ?? 1;//當前頁
            if (!string.IsNullOrEmpty(Request.QueryString["pageindex"]))
            {
                if (!int.TryParse(Request.QueryString["pageindex"], out pageIndex))
                {
                    pageIndex = 1;
                }
            }
            const int pageSize = 2;
            long totalCount;
            long totalPageCount;         
            IEnumerable<CarComment> list = dal.GetList(pageIndex, pageSize, out totalPageCount, out totalCount, "CarId=" + id);
            var commentIPagedList = new StaticPagedList<CarComment>(list, pageIndex, pageSize, Convert.ToInt32(totalCount));
            #endregion
            //轉成Json格式
            var strResult = "{\"pageCount\":" + commentIPagedList.PageCount + ",\"CurrentPage\":" + commentIPagedList.PageNumber + ",\"list\":" + JsonConvert.SerializeObject(list) + "}";   
            return Json(strResult, JsonRequestBehavior.AllowGet);

        }

  js代碼

 <script type="text/javascript">
            $(document).ready(function() {              
                var carId = 1;
                $.ajax({
                    url: "/car/Comment",
                    datatype:'json',
                    type: "Post",
                    data: "id=" + carId,
                    success: function(data) {                    
                        if (data!=null) {                          
                            $.each(eval("(" + data + ")").list, function(index, item) { //遍歷返回的json                               
                                $("#list").append('<table>');
                                $("#list").append('<tr>');
                                $("#list").append('<td>評論者</td>');
                                $("#list").append('<td>'+item.UserProfileId+'</td>');
                                $("#list").append('</tr>');
                                $("#list").append('<tr>');
                                $("#list").append('<td>內容</td>');
                                $("#list").append('<td>'+item.Content+'</td>');
                                $("#list").append('</tr>');
                                $("#list").append('</table>');                                
                            }); //添加select option 
                            $("#commentList").append('<div id="pager"><ul id="page"></ul></div>');
                            var element = $("#page");                       
                            var pageCount = eval("(" + data + ")").pageCount; //取返回的Json數據中的pageCount(把返回數據轉成object類型)
                            var currentPage = eval("(" + data + ")").CurrentPage; //去返回的Json數據中的CurrentPage
                            var options = {                    
                                bootstrapMajorVersion: 3, //版本
                                currentPage: currentPage, //當前頁數
                                numberOfPages: 5, //設置顯示的頁碼數
                                totalPages:pageCount, //總頁數
                                itemTexts: function(type, page, current) {
                                    switch (type) {
                                        case "first":
                                            return "首頁";
                                        case "prev":
                                            return "上一頁";
                                        case "next":
                                            return "下一頁";
                                        case "last":
                                            return "末頁";
                                        case "page":
                                            return page;
                                    }
                                    //}
                                    //pageUrl: function(type, page, current) {
                                    //    return "/car/Details?page=" + page;
                                },//點擊事件
                                onPageClicked: function(event, originalEvent, type, page) {                     
                                    $.ajax({
                                        url: "/car/Comment?id="+carId,
                                        type: "Post",
                                        data:"page="+ page,
                                        success: function(data1) {
                                            if (data1!=null) {
                                                $("#list").html("");
                                                $.each(eval("(" + data1 + ")").list, function (index, item) { //遍歷返回的json                               
                                                    $("#list").append('<table style="border: 1px solid #00ced1;width: 300px">');
                                                    $("#list").append('<tr>');
                                                    $("#list").append('<td>評論者</td>');
                                                    $("#list").append('<td>'+item.UserProfileId+'</td>');
                                                    $("#list").append('</tr>');
                                                    $("#list").append('<tr>');
                                                    $("#list").append('<td>內容</td>');
                                                    $("#list").append('<td>'+item.Content+'</td>');
                                                    $("#list").append('</tr>');
                                                    $("#list").append('</table>');                               
                                                });    
                                            }
                                        }
                                    });
                                }
                            };
                            element.bootstrapPaginator(options);
                        }
                    }
                });
            });

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM