在ASP.NET MVC中使用 Bootstrap table插件

Bootstrap table: http://bootstrap-table.wenzhixin.net.cn/zh-cn/getting-started/

1. 控制器代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace AspDotNetMVCBootstrapTable.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

        public JsonResult GetData()
        {
            var products = new[] {
                new Product { ID = "1", Name = "Item 1", Price = "$1" },
                new Product { ID = "2", Name = "Item 2", Price = "$1" },
                new Product { ID = "3", Name = "Item 3", Price = "$1" },
                new Product { ID = "4", Name = "Item 4", Price = "$4" },
                new Product { ID = "5", Name = "Item 5", Price = "$5" },
                new Product { ID = "6", Name = "Item 6", Price = "$6" },
                new Product { ID = "7", Name = "Item 7", Price = "$7" },
                new Product { ID = "8", Name = "Item 8", Price = "$8" },
                new Product { ID = "9", Name = "Item 9", Price = "$9" },
                new Product { ID = "10", Name = "Item 10", Price = "$10" },
                new Product { ID = "11", Name = "Item 11", Price = "$11" },
                new Product { ID = "12", Name = "Item 12", Price = "$12" },
                new Product { ID = "13", Name = "Item 13", Price = "$13" },
                new Product { ID = "14", Name = "Item 14", Price = "$14" },
                new Product { ID = "15", Name = "Item 15", Price = "$15" },
                new Product { ID = "16", Name = "Item 16", Price = "$16" },
                new Product { ID = "17", Name = "Item 17", Price = "$17" },
                new Product { ID = "18", Name = "Item 18", Price = "$18" },
                new Product { ID = "19", Name = "Item 19", Price = "$19" },
                new Product { ID = "20", Name = "Item 20", Price = "$20" },
                new Product { ID = "21", Name = "Item 21", Price = "$21" },
                new Product { ID = "22", Name = "Item 22", Price = "$22" },
                new Product { ID = "23", Name = "Item 23", Price = "$23" },
                new Product { ID = "24", Name = "Item 24", Price = "$24" },
                new Product { ID = "25", Name = "Item 25", Price = "$25" },
                new Product { ID = "26", Name = "Item 26", Price = "$26" },
                new Product { ID = "27", Name = "Item 27", Price = "$27" },
                new Product { ID = "28", Name = "Item 28", Price = "$28" },
                new Product { ID = "29", Name = "Item 29", Price = "$29" },
                new Product { ID = "30", Name = "Item 30", Price = "$30" },
            };

            return Json(products.ToList(), JsonRequestBehavior.AllowGet);

        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }

        private class Product
        {
            public string ID { get; set; }
            public string Name { get; set; }
            public string Price { get; set; }
        }

    }
}

2. 视图代码:

@{
   ViewBag.Title = "Home Page";
}
@section css {
   <link href="~/Scripts/Bootstrap-Table-1.5.0/bootstrap-table.min.css" rel="stylesheet" />
   <style type="text/css">

   </style>
}
<div class="row">
   <div class="col-md-12">
       <h2>ASP.NET MVC and Bootstrap Table Integration</h2>
       <table id="table-javascript"></table>
   </div>
</div>
@section Scripts {
   <script src="~/Scripts/Bootstrap-Table-1.5.0/bootstrap-table.min.js"></script>
   <script src="~/Scripts/Bootstrap-Table-1.5.0/locale/bootstrap-table-en-US.min.js"></script>
   <script type="text/javascript">
       $(function () {
           $(‘#table-javascript‘).bootstrapTable({
                   method: ‘get‘,
                   url: ‘/Home/GetData‘,
                   cache: false,
                   height: 400,
                   striped: true,
                   pagination: true,
                   pageSize: 50,
                   pageList: [10, 25, 50, 100, 200],
                   search: true,
                   showColumns: true,
                   showRefresh: true,
                   minimumCountColumns: 2,
                   clickToSelect: true,
                   columns: [{
                       field: ‘state‘,
                       checkbox: true
                   }, {
                       field: ‘ID‘,
                       title: ‘Item ID‘,
                       align: ‘right‘,
                       valign: ‘bottom‘,
                       sortable: true
                   }, {
                       field: ‘Name‘,
                       title: ‘Item Name‘,
                       align: ‘center‘,
                       valign: ‘middle‘,
                       sortable: true
                   }, {
                       field: ‘Price‘,
                       title: ‘Item Price‘,
                       align: ‘left‘,
                       valign: ‘top‘,
                       sortable: true
                   }, {
                       field: ‘operate‘,
                       title: ‘Item Operate‘,
                       align: ‘center‘,
                       valign: ‘middle‘,
                       clickToSelect: false,
                       formatter: operateFormatter,
                       events: operateEvents
                   }]
               });

       });

       function operateFormatter(value, row, index) {
           return [
               ‘<a class="like" href="javascript:void(0)" title="Like">‘,
                   ‘<i class="glyphicon glyphicon-heart"></i>‘,
               ‘</a>‘,
               ‘ <a class="edit ml10" href="javascript:void(0)" title="Edit">‘,
                   ‘<i class="glyphicon glyphicon-edit"></i>‘,
               ‘</a>‘,
               ‘ <a class="remove ml10" href="javascript:void(0)" title="Remove">‘,
                   ‘<i class="glyphicon glyphicon-remove"></i>‘,
               ‘</a>‘
           ].join(‘‘);
       }

       window.operateEvents = {
           ‘click .like‘: function (e, value, row, index) {
               alert(‘You click like icon, row: ‘ + JSON.stringify(row));
               console.log(value, row, index);
           },
           ‘click .edit‘: function (e, value, row, index) {
               alert(‘You click edit icon, row: ‘ + JSON.stringify(row));
               console.log(value, row, index);
           },
           ‘click .remove‘: function (e, value, row, index) {
               alert(‘You click remove icon, row: ‘ + JSON.stringify(row));
               console.log(value, row, index);
           }
       };

   </script>
}

项目代码查看地址: http://mvcbootstraptable.codeplex.com/

另: MVC中对Bootstrap的封装: http://mvc4bootstaphelper.codeplex.com/ (感觉一般用不到)

时间: 2024-10-07 09:04:17

在ASP.NET MVC中使用 Bootstrap table插件的相关文章

Asp.Net MVC中使用ACE模板之Jqgrid

第一次看到ACE模板,有种感动,有种相见恨晚的感觉,于是迅速来研究.它本身是基于bootstrap和jqueryui,但更nice,整合之后为后台开发节省了大量时间. 发现虽然不是完美,整体效果还是不错,特此分享给园友.这一节先讲其中的Jqgrid.按照国际惯例,先上两张图. 集成了button,form,treeview以及日历,时间轴.chart等控件,非常丰富.下面是Jqgrid在MVC中的使用. jqgrid的加载,排序,查找都是基于后台方法,不是在内存中完成,但也有一些小坑.下面一一道

NPOI以及在ASP.NET MVC中的使用

NPOI以及在ASP.NET MVC中的使用 1.前言 相信大家在工作中经常要遇到一些导入导出Execl操作.学习贵在分享,分享使人快乐,园子里的前辈已经有很多好的文章,鄙人也是能力有限,在这里把这些好的文章总结,方便以后再工作中使用. NPOI:是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作. 它不使用Off

在 asp.net mvc中的简单分页算法

//第一步:建立如下分页实体类:namespace MVCPager.Helpers { /// <summary> /// 简单分页算法类 /// </summary> public class Pager { public int RecordCount { get; set; } public int PageIndex { get; set; } public int PageSize { get; set; } public int PageCount { get { r

angular.js的路由和模板在asp.net mvc 中的使用

我们知道angular.js是基于mvc 的一款优秀js框架,它也有一套自己的路由机制,和asp.net mvc 路由不太一样.asp.net mvc 的路由是通过不同的URL到不同的controller然后交给controller去呈现视图.但是在angular.js则是需要提前指定一个module(ng-app),然后去定义路由规则,通过不同的URL,来告诉ng-app 去加载哪个页面.再渲染到ng-view.通过angular.js路由的使用,可以很容易实现页面的局部刷新.更加高效的去创建

ASP.NET MVC 中使用用户控件——转

讲讲怎么在 ASP.NET MVC2中使用用户控件.首先我们新建一个用户控件, 我们命名为SelectGroup.ascx,代码如下 <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> <script language="javascript" type="text/javascript" src="<%

如何在 ASP.NET MVC 中集成 AngularJS(2)

在如何在 ASP.NET MVC 中集成 AngularJS(1)中,我们介绍了 ASP.NET MVC 捆绑和压缩.应用程序版本自动刷新和工程构建等内容. 下面介绍如何在 ASP.NET MVC 中集成 AngularJS 的第二部分. ASP.NET 捆绑和压缩 CSS 和 JavaScript 的捆绑与压缩功能是 ASP.NET MVC 最流行和有效的特性之一.捆绑和压缩降低了 HTTP 请求和有效载荷的大小,结果是可以更快和更好的执行 ASP.NET MVC 的网站.有许多可以减少 CS

在ASP.NET MVC中实现基于URL的权限控制

本示例演示了在ASP.NET MVC中进行基于URL的权限控制,由于是基于URL进行控制的,所以只能精确到页.这种权限控制的优点是可以在已有的项目上改动极少的代码来增加权限控制功能,和项目本身的耦合度低,并且实现起来也比较简单.缺点是权限控制不够精确,不能具体到某一具体的按钮或者某一功能. 在数据库中新建2个表.PermissionItem表用于保存权限ID和页面路径的关系,一个权限ID可以有多个页面,一般同一个权限ID下的页面是为了实现同一个功能.PermissionList表用于保存用户所具

在ASP.NET MVC中实现区域或城市选择

每次在"万达影城"网上购票总会用到左上角选择城市的功能.如下: 今天就在ASP.NET MVC中实现一下.我想最好的方式应该是写一个插件,但自己在这方面的功力尚欠缺,如果大家在这方面有好的解决方案,希望在这一起交流,那将会更好. 大致思路如下:○ 点击"更换"弹出div,用bootstrap来实现○ div中的tabs,用jqueryui来实现○ tab项中的城市,用jquery.tmpl.min.js模版来实现 有关城市的Model: public class C

《Entity Framework 6 Recipes》中文翻译系列 (20) -----第四章 ASP.NET MVC中使用实体框架之在MVC中构建一个CRUD示例

翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章  ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架,它支持3种不同的技术来创建websites(网站)和Web应用:他们分别是,Web Pages,Web Forms,和MVC.虽然MVC是一种非常流行的,有完整的用于软件开发模式理论的技术,但它在ASP.NET中却是一种新的技术. 目前最新的版本是2012年发布的ASP.NET MVC4.自从2008年发布