zoukankan      html  css  js  c++  java
  • bootstrap-paginator分页示例 源码 MVC

    准备

    1.数据:bootstrap包(含分页插件bootstrap-paginator.js)

    2.技术方案:ajax动态加载分页、部分视图、BLL取数

    代码

    模板页

    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>@ViewBag.Title</title>
        <script src="~/Content/Scripts/jquery/jquery-2.1.1.min.js"></script>
        <link href="~/Content/Scripts/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet" />
        <script src="~/Content/Scripts/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
        <script src="~/Content/Scripts/bootstrap-3.3.7-dist/js/bootstrap-paginator.js"></script>
        @RenderSection("scripts")
    </head>
    <body>
        <div class="container" style="auto;margin:0 0px;">
            @RenderBody()
        </div>
    </body>
    </html>
    

      

    主页

    @using LeaRun.Entity;
    @{
        ViewBag.Title = "View1";
        Layout = "~/Views/Shared/_Layout.cshtml";
    }
    @section scripts{
        <script type="text/javascript">
            var limit = 20;
            function initTable() {
                $.ajax({
                    url: '../SystemSetup/LoadData',
                    type: 'post',
                    data: { page: 1, limit: limit },
                    dataType: 'html',
                    success: function (data) {
                        $("#data_table").html(data);
                        var pageCount = $('#datatotle').val(); //总页数
                        var options = {
                            bootstrapMajorVersion: 3, //版本
                            currentPage: 1, //当前页数
                            totalPages: pageCount, //总页数
                            numberOfPages: 5,
                            itemTexts: function (type, page, current) {
                                switch (type) {
                                    case "first":
                                        return "首页";
                                    case "prev":
                                        return "上一页";
                                    case "next":
                                        return "下一页";
                                    case "last":
                                        return "末页";
                                    case "page":
                                        return page;
                                }
                            },//点击事件,用于通过Ajax来刷新整个list列表
                            onPageClicked: function (event, originalEvent, type, page) {
                                $.ajax({
                                    url: '../SystemSetup/LoadData',
                                    type: 'post',
                                    data: { page: page, limit: limit },
                                    dataType: 'html',
                                    success: function (data) {
                                        $("#data_table").html(data);
                                    }
                                });
                            }
                        };
                        $('#pageLimit').bootstrapPaginator(options);
                    }
                });
                
            }
    
            $(function () {
                initTable();
            });
        </script>
    }
    <div class="row clearfix">
        <div class="col-md-12 column">
            <table class="table">
                <thead>
                    <tr>
                        <th>
                            编号
                        </th>
                        <th>
                            名称
                        </th>
                        <th>
                            菜单
                        </th>
                        <th>
                            等级
                        </th>
                        <th>
                            启用
                        </th>
                        <th>
                            创建时间
                        </th>
                    </tr>
                </thead>
                <tbody id="data_table">
                </tbody>
            </table>
            <div class="col-md-12 column text-center">
                <ul id="pageLimit"></ul>
            </div>
        </div>
    </div>
    

    分页

    @using LeaRun.Entity;
    @{
        #region
        List<Base_Module>
        data = ViewBag.Data as List<Base_Module>;
        if (data == null)
        {
            data = new List<Base_Module>();
        }
        int btotel = ViewBag.BTotel;
        #endregion
    }
    <input id="datatotle" type="text" hidden="hidden" value="@ViewBag.Totle"/>
    @for (int i = 0; i < data.Count; i++)
    {
        <tr class="@(i%2==0?"active":"")">
            <td>
                @(btotel++)
            </td>
            <td>
                @data[i].FullName
            </td>
            <td>
                @data[i].Location
            </td>
            <td>
                @data[i].Level
            </td>
            <td>
                @(data[i].Enabled == 1 ? "启用" : "未启用")
            </td>
            <td>
                @(Convert.ToDateTime(data[i].CreateDate).ToString("yyyy-MM-dd"))
            </td>
        </tr>
    }
    

    Controller

    using LeaRun.Business;
    using LeaRun.Business.BaseUtility;
    using LeaRun.Entity;
    using LeaRun.Utilities;
    using System.Collections.Generic;
    using System.Web.Mvc;
    
    namespace LeaRun.WebApp.Controllers
    {
        public class SystemSetupController : Controller
        {
            public Base_ModuleBll base_modulebll = new Base_ModuleBll();
    
            public ActionResult Index()
            {
                return View();
            }
    
            public ActionResult LoadData(int page, int limit)
            {
                int total = 0;
                List<Base_Module> list = base_modulebll.GetList(out total, page: page, rows: limit);
                ViewBag.Data = list;
                ViewBag.Totle = total;
                ViewBag.BTotel = (page - 1) * limit + 1;
                return PartialView("LoadData");
            }
        }
    }
    

    效果

  • 相关阅读:
    Linux Window Redis安装
    Mysql 死锁的详细分析方法
    mariadb rpm 安装
    我希望我能做到:我只是认真--做技术的人,对待技术,应该拥有什么样的态度?
    Google140道面试题
    mysql my.cnf配置文件详解
    Linux iostat字段解析
    Linux mpstat字段解析
    Selenium入门8 js调用
    Selenium入门7 内嵌框架iframe
  • 原文地址:https://www.cnblogs.com/blogs2014/p/8421600.html
Copyright © 2011-2022 走看看