.Net MVC+bootstrap Table学习
一、效果展示
二、使用方法
1)、相关css和js的引用
<link href="~/Themes/Bootstrap/css/bootstrap.css" rel="stylesheet" />
<link href="~/Themes/Bootstrap/css/bootstrap-table.css" rel="stylesheet" />
<!---------------------------js引用------------------------------------------->
<script src="~/Themes/Bootstrap/js/jquery.min.js"></script>
<script src="~/Themes/Bootstrap/js/bootstrap.js"></script>
<script src="~/Themes/Bootstrap/js/bootstrap-table.js"></script>
<script src="~/Themes/Bootstrap/js/bootstrap-table-zh-CN.js"></script>
<script src="~/Themes/layer/layer.js"></script>
2)、页面html
<button type="button" id="btnAdd" class="btn btn-primary">添加新纪录</button>
<div class="pull-right search" style="width:260px;">
<input class="form-control" type="text" id="txtName" placeholder="请输入姓名" style="float:left;width:150px;">
<button type="button" id="btnSearch" class="btn btn-primary">查询</button>
</div>
<table id="myTable"></table>
3)、初始化表格js和相应的增、删、改、查js事件
<script type="text/javascript">
var $table = $("#myTable");
var TableInit = function () {
var oTable = new Object();
oTable.QueryUrl = '@Url.Content("~/Home/GetList")' + '?rnd=' + +Math.random();
oTable.Init = function () {
$table.bootstrapTable({
method: 'post',//数据请求方式
url: oTable.QueryUrl,//请求数据的地址
height: $(window).height() - 100,
striped: true,
pagination: true,
pageNumber: 1,
pageSize: 10,
pageList: [5, 10, 15],
uniqueId: "ID",
sidePagination: "server", //服务端请求
queryParams: oTable.queryParams,
queryParamsType: "",
sortOrder: "desc",//默认排序方式,降序排列
columns: [{
field: 'ID',
title: 'ID',
width: 100,
align: 'center',
valign: 'middle',
sortable: true,
sortname:'ID',//排序字段名称
formatter: idFormatter
}, {
field: 'Name',
title: '姓名',
width: 100,
align: 'center',
valign: 'middle',
formatter: nameFormatter
}, {
field: 'operate',
title: '操作',
width: 100,
align: 'center',
valign: 'middle',
formatter: operateFormatter,
events: operateEvents
}],
onLoadSuccess: function () {
},
onLoadError: function () {
}
});
}
oTable.queryParams = function (params) {
var temp = {
pageSize: params.pageSize,
pageIndex: params.pageNumber,
name: $("#txtName").val(),
sortOrder: params.sortOrder,
sortName:params.sortName
};
return temp;
}
function idFormatter(value, row, index) {
return row.ID;
}
function nameFormatter(value, row, index) {
return row.Name;
}
function operateFormatter(value, row, index) {
return '<a class="edit" style="cursor:pointer;" title="修改">修改</a> ' + '<a class="delete" style="cursor:pointer;" title="删除">删除</a>';
}
window.operateEvents = {
'click .edit': function (e, value, row, index) {
//修改操作,将姓名字段改为“小宝,英文名:aspen”
$.ajax({
url: '@Url.Content("~/Home/UpdateRow")',
data: { id: row.ID },
success: function (result) {
if (result.state) {
layer.msg('修改成功', { tiem: 500, icon: 1 });
$table.bootstrapTable('refresh');
}
}
});
$table.bootstrapTable('refresh');
},
'click .delete': function (e, value, row, index) {
//删除操作
layer.confirm('您确定要删除该记录吗?', {
btn: ['确定', '取消'] //按钮
}, function () {
$.ajax({
url: '@Url.Content("~/Home/DeleteRow")',
data: { id: row.ID },
success: function (result) {
if (result.state) {
layer.msg('删除成功', { tiem: 500, icon: 1 });
$table.bootstrapTable('refresh');
}
}
}); }, function () { });
}
}
return oTable;
} //初始化表格
$(function () {
var myTable = new TableInit();
myTable.Init();
});
//查询
$("#btnSearch").click(function () {
$table.bootstrapTable('destroy');
var myTable = new TableInit();
myTable.Init();
});
//添加
$("#btnAdd").click(function () {
$.ajax({
url: '@Url.Content("~/Home/AddRow")',
success: function (result) {
if (result.state) {
layer.msg('添加成功', { tiem: 500, icon: 1 });
$table.bootstrapTable('refresh');
}
}
});
});
</script>
4)、控制器方法
public class HomeController : Controller
{
static List<Person> personList = new List<Person>();
static HomeController()
{
for (int i = ; i <= ; i++)
{
Person person = new Person();
person.ID = i;
person.Name = "小宝" + i.ToString();
personList.Add(person);
}
}
public ActionResult List()
{
return View();
}
public ActionResult GetList(string name,string sortOrder="desc",string sortName = "ID",int pageIndex = , int pageSize = )
{
var tempPersonList = personList;
if (sortOrder == "desc"&&sortName=="ID")
{
tempPersonList = tempPersonList.OrderByDescending(p => p.ID).ToList();
}
else
{
tempPersonList = tempPersonList.OrderBy(p => p.ID).ToList();
}
if (!string.IsNullOrWhiteSpace(name))
{
tempPersonList = tempPersonList.Where(p => p.Name.Contains(name)).ToList();
}
var currentPersonList = tempPersonList
.Skip((pageIndex - ) * pageSize)
.Take(pageSize); var total = tempPersonList.Count();
var rows = currentPersonList.Select(p => new { ID=p.ID,Name=p.Name});
return Json(new { total=total,rows=rows, state = true, msg = "加载成功" }, JsonRequestBehavior.AllowGet);
}
public ActionResult UpdateRow(int id)
{
Person person = personList.Find(p => p.ID == id);
person.Name = person.Name + ",英文名:aspen";
int index= personList.FindIndex(p => p.ID == id);
personList.Remove(person);
personList.Insert(index, person);
return Json(new { state = true, msg = "修改成功" }, JsonRequestBehavior.AllowGet);
}
public ActionResult DeleteRow(int id)
{
Person person = personList.Find(p => p.ID == id);
personList.Remove(person);
return Json(new { state = true, msg = "删除成功" }, JsonRequestBehavior.AllowGet);
}
public ActionResult AddRow()
{
int maxIndex= personList.Max(p => p.ID);
Person person = new Person();
person.ID = maxIndex + ;
person.Name = "小宝" + person.ID.ToString();
personList.Add(person);
return Json(new { state = true, msg = "添加成功" }, JsonRequestBehavior.AllowGet);
}
}
class Person
{
public int ID { get; set; }
public string Name { get; set; }
}
项目源码下载:
http://files.cnblogs.com/files/weishuanbao/BootstrapTable.rar
参考资料:
1.Bootstrap Table API:
http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/
2.网友分享:
http://www.imooc.com/article/8917
.Net MVC+bootstrap Table学习的更多相关文章
- bootstrap table 学习记录
效果: html代码: <!-- 工具容器 --> <div id="toolbar" class="btn-group"> <b ...
- Bootstrap Table使用方法详解
http://www.jb51.net/article/89573.htm bootstrap-table使用总结 bootstrap-table是在bootstrap-table的基础上写出来的,专 ...
- 在ASP.NET MVC中使用 Bootstrap table插件
Bootstrap table: http://bootstrap-table.wenzhixin.net.cn/zh-cn/getting-started/ 1. 控制器代码: using Syst ...
- MVC系列——MVC源码学习:打造自己的MVC框架(二:附源码)
前言:上篇介绍了下 MVC5 的核心原理,整篇文章比较偏理论,所以相对比较枯燥.今天就来根据上篇的理论一步一步进行实践,通过自己写的一个简易MVC框架逐步理解,相信通过这一篇的实践,你会对MVC有一个 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第五节--WBEAPI及SwaggerUI
一,Web API ABP的动态WebApi实现了直接对服务层的调用(其实病没有跨过ApiController,只是将ApiController公共化,对于这一点的处理类似于MVC,对服务端的 调用没 ...
- ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十二节--小结,Bootstrap Table之角色管理
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 很多人说ABP不适合高并发大型,有一定的道理,但是我觉得还是可以的,就看架构师的能力了,哈哈,我之前公司就是ABP ...
- ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十六节--SignalR与ABP框架Abp.Web.SignalR及扩展
SignalR简介 SignalR是什么? ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能是指 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第三节--abp分层体系,实体相关及ABP模块系统
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 ABP模块系统 说了这么久,还没有详细说到abp框架,abp其实基于DDD(领域驱动设计)原则的细看分层如下: 再 ...
- 【转载】BootStrap表格组件bootstrap table详解
(转载,来源“脚本之家”,作者不详) 一.Bootstrap Table的引入 关于Bootstrap Table的引入,一般来说还是两种方法: 1.直接下载源码,添加到项目里面来.由于Bootstr ...
随机推荐
- CentOS+Apache+mod_wsgi+Python+Django
前言 网上有关的教程千篇一律,都是无脑抄,自己都不验证一遍就直接复制,毫无意义,我通过官方文档和自己摸索,总结了一套教程. Django自带Web服务功能,但那只是方便开发调试,生产环境中一般将Dja ...
- 第一个PHP程序-HelloWorld
<?php //echo输出字符串 echo "Hello php!你好 php" ; 以上程序输出结果为:Hello php!你好 php
- 用fxc.exe编译shader文件(*.fx, *.hlsl)的设置
原文出自:http://msdn.microsoft.com/en-us/library/windows/desktop/bb509709(v=vs.85).aspx#Profiles 拿DX11 S ...
- 学习ExtJs教程初级
搭建环境:myeclipse10 +tomcat6+jdk6 新建一个webproject(启动myeclipse:file--new--webproject) 导入相关的js和css(百度下载就好. ...
- Ajax1
一.Ajax是什么? 全称"Asynchronous JavaScript and XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJA ...
- mysql 数据库,表存储 大小
use information_schema; -- 查询一个数据库存储大小 select concat(round(sum(data_length/1024/1024),2),'MB') as da ...
- Android笔记之——事件的发生(2)
Java: package com.example.helloworld;import android.os.Bundle;import android.view.KeyEvent;import an ...
- nullcom HackIM2016 -- Programming Question 4
One of the NullCon vidoes talked about a marvalous Russian Gift. The Vidoe was uploaded on [May of 2 ...
- zabbix3.0安装部署文档
zabbix v3.0安装部署 摘要: 本文的安装过程摘自http://www.ttlsa.com/以及http://b.lifec-inc.com ,和站长凉白开的<ZABBIX从入门到精通v ...
- C#使用ESC指令控制POS打印机打印小票
1.前言 C#打印小票可以与普通打印机一样,调用PrintDocument实现.也可以发送标注你的ESC指令实现.由于 调用PrintDocument类时,无法操作使用串口或TCP/IP接口连接的po ...