zoukankan      html  css  js  c++  java
  • 基于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; 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);
                            }
                        }
                    });
                });
    

      

  • 相关阅读:
    多个类定义attr属性重复的问题:Attribute "xxx" has already been defined
    好用的批量改名工具——文件批量改名工具V2.0 绿色版
    得到ImageView中drawable显示的区域的计算方法
    得到view坐标的各种方法
    实现类似于QQ空间相册的点击图片放大,再点后缩小回原来位置
    Material Designer的低版本兼容实现(五)—— ActivityOptionsCompat
    Android 自带图标库 android.R.drawable
    解决 Attempting to destroy the window while drawing!
    解决Using 1.7 requires compiling with Android 4.4 (KitKat); currently using API 4
    Material Designer的低版本兼容实现(四)—— ToolBar
  • 原文地址:https://www.cnblogs.com/llxy/p/3868034.html
Copyright © 2011-2022 走看看