ASP.net MVC 使用bootstrap-table

bootstrap-table是一个非常好用的数据表格 插件, 类似于web form 里面的gridview ,我做了一个简单的例子,大概如下图,如果代码写的不对,请见谅。

首先bootstrap  样式和 bootstrap-table 的官网是,js和css可以自己查询下载,我做测试的时候一般直接用cdn,方便快捷:

https://v3.bootcss.com/

https://bootstrap-table.com/

 

首先看view部分的代码

@*会员删除页面*@
@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>MemberDel</title>

    <!-- Bootstrap -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.19.1/dist/bootstrap-table.min.css">

    <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
    <script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js" integrity="sha384-nvAa0+6Qg9clwYCGGPpDQLVpLNn0fRaROjHqs13t4Ggj3Ez50XnGQqc/r8MhnRDZ" crossorigin="anonymous"></script>
    <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd" crossorigin="anonymous"></script>

    <!-- Latest compiled and minified JavaScript -->
    <script src="https://unpkg.com/bootstrap-table@1.19.1/dist/bootstrap-table.min.js"></script>
    <!-- Latest compiled and minified Locales -->
    <script src="https://unpkg.com/bootstrap-table@1.19.1/dist/locale/bootstrap-table-zh-CN.min.js"></script>

</head>

<body>
    <div class="container-fluid">
        <div class="row">
            <ol class="breadcrumb">
                <li class="active">home</li>
                <li class="active">member delete</li>
            </ol>
        </div>

        <div class="row">
            <form class="form-inline">
                <div class="form-group">
                    <label for="exampleInputName2">姓名</label>
                    <input type="text" class="form-control" id="exampleInputName2" placeholder="Jane Doe">
                </div>
                <div class="form-group">
                    <label for="exampleInputEmail2">用户号码</label>
                    <input type="email" class="form-control" id="exampleInputEmail2" placeholder="jane.doe@example.com">
                </div>
                <button type="button" class="btn btn-default">搜索</button>
            </form>
        </div>

        <div class="row">&nbsp;</div>

        <div class="row">
            <table id="mytable"></table>
        </div>

    </div>

    <script type="text/javascript">

        $(document).ready(function () {

            $("#mytable").bootstrapTable({
                url: "/home/GetMenbList",  
                striped: true, //是否显示行间隔色
                pageNumber: 1,  
                pagination: true,
                sidePagination: 'server',//server:服务器端分页|client:前端分页
                pageSize: 10, 
                pageList: [10],//可选择单页记录数

                queryParams: function (params) { 
                    var temp = {
                        limit: params.limit,
                        offset: params.offset,
                        //page : (params.offset / params.limit) + 1,  

                        Name: $('#exampleInputName2').val(),
                        Tel: $('#exampleInputEmail2').val()
                    };
                    return temp;
                },

                columns: [{
                    title: '订单号',
                    field: 'OrderNum' 
                }, {
                    title: '顾客',
                    field: 'Customer' 
                }, {
                    title: '金额',
                    field: 'Amount'  
                }, {
                    field: 'operate',
                    title: '操作',
                    align: 'center',
                    valign: 'middle',
                    width: 200,
                    events: {
                        'click #edit': function (e, value, row, index) {
                          
                            alert(row.OrderNum + row.Customer + row.Amount);
                        },
                        'click #delete': function (e, value, row, index) {
                            deleteInfo(row.Id);
                        }
                    },
                    formatter: function (value, row, index) {
                        var result = "";
                        result += '<button id="edit" class="btn btn-info btn-xs" data-toggle="modal" data-target="#editModal">编辑</button>';
                        result += '<button id="delete" class="btn btn-danger btn-xs" style="margin-left:10px;">删除</button>';
                        return result;
                    }
                }
                ]
            });



        });  //end page ready

    </script>


</body>

</html>

可以看到<scritp>里面直接用 $('#mytable').bootstraptable(.....)  来初始化表格控件。

然后看controller里面的代码

   public ActionResult MemberDel()
        {
            return View();
        }

        public ActionResult GetMenbList()
        {
            int offset = int.Parse(Request["offset"]);
            int limit = int.Parse(Request["limit"]);
            string Name = Request["Name"];
            string Tel = Request["Tel"];

            int total = 0;
            // page: (params.offset / params.limit) + 1,
            int pageindex = (offset / limit) + 1;

            OrderList list = new OrderList();

            BootstrapTB tb = new BootstrapTB();
            tb.rows = list.GetModelByPage(Name+Tel, pageindex, limit, out total);
            tb.total = total;

            return Json(tb,JsonRequestBehavior.AllowGet);
        }

可以看到ajax 请求的是 GetMenbList() 方法,  前台html传人的参数是刚刚js里面的queryParams ,offset 和 limit 这两个参数是翻页控件自带的,而其他的参数,如Name,Tel都是我写的<input>内容。

然后重点就是后台返回json , 这个json的格式为:

{"rows":[{...},{...},{...}],"total":45}

只有后台能传出这个格式的json , 前台bootstrap-table接受到之后就能显示表格。

(备注:bootstrap-table 初始化的columns的field名称要跟输出json对应列名,要不然列内容就会显示空白)

根据这个json格式,我做了一个实体类,自行改造改造就能用。

 public class BootstrapTB
    {
        public List<OrderModel> rows { get; set; }
        public int total { get; set; }
    }

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
包括源代码、数据库文档、数据库创建SQL脚本。一套基于ASP.NET MVC+EF6+Bootstrap开发出来的框架源代码! 采用主流框架,容易上手,简单易学,学习成本低。可完全实现二次开发、基本满足80%项目需求。 可以帮助解决.NET项目70%的重复工作,让开发更多关注业务逻辑。既能快速提高开发效率,帮助公司节省人力成本,同时又不失灵活性。 支持SQLServer、MySQL、Oracle、SQLite、Access 等多数据库类型。模块化设计,层次结构清晰。内置一系列企业信息管理的基础功能。 操作权限控制精密细致,对所有管理链接都进行权限验证,可控制到导航菜单、功能按钮。 数据权限(精细化数据权限控制,控制到行级,列表级,表单字段级,实现不同人看不同数据,不同人对同一个页面操作不同字段 兼容目前最流行浏览器(IE8+、Chrome、Firefox、360浏览器) 1、前端技术 JS框架:Bootstrap、JQuery CSS框架:Bootstrap v3.3.4(稳定是后台,UI方面根据需求自己升级改造吧)。 客户端验证:jQuery Validation Plugin。 在线编辑器:ckeditor、simditor 上传文件:Uploadify 数据表格:jqGrid、Bootstrap Talbe 对话框:layer 页面布局:jquery.layout.js 图表插件:echarts、highcharts 2、后端技术 核心框架:ASP.NET MVC5、WEB API 持久层框架:EntityFramework 定时计划任务:Quartz.Net组件 安全支持:过滤器、Sql注入、请求伪造 服务端验证:实体模型验证、自己封装Validator 缓存框架:微软自带Cache、Redis 日志管理:Log4net、登录日志、操作日志 工具类:NPOI、Newtonsoft.Json、验证码

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值