中文翻译文档:

http://blog.csdn.net/rickiyeat/article/details/56483577

版本说明:

Jquery v2.1.1

Bootstrap V3.3.7

bootstrap-table V1.11.1

一、视图页

 <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>测试</title>
<link href="/Content/bootstrap.min.css" rel="stylesheet">
<link href="/Content/bootstrap-table.min.css" rel="stylesheet">
<script src="/Scripts/modernizr-2.8.3.js"></script>
</head>
<body>
<div class="container">
<div class="row">
<div id="test_toolbar" class="btn-group">
<button id="btnEdit" type="button" class="btn btn-default">
<span class="fa fa-pencil-square-o" aria-hidden="true"></span>批量显示
</button>
<button id="btnDelete" type="button" class="btn btn-default">
<span class="fa fa-trash-o" aria-hidden="true"></span>批量删除
</button>
</div>
<table id="test_Table" class="table-striped table-hover" data-reorderable-columns="true"></table>
</div>
</div>
<script src="/Scripts/jquery/jquery-2.1.1.min.js"></script>
<script src="/Scripts/bootstrap.min.js"></script>
<script src="/Scripts/respond.min.js"></script>
<script src="/Scripts/bootstrap-table.min.js"></script>
<script src="/Scripts/bootstrap-table-zh-CN.js"></script>
<script src="~/Scripts/js/Activity/Comment.js"></script>
<script>
$(function () { //1.初始化Table
var oTable = new TableInit();
oTable.Init(); //2.初始化Button的点击事件
var oButtonInit = new ButtonInit();
oButtonInit.Init(); });
</script>
</body>
</html>

二、处理脚本

 var TableInit = function () {
var oTableInit = new Object(); //初始化Table
oTableInit.Init = function () {
$('#test_Table').bootstrapTable({
url: "test",
method: 'get',
datatype: 'json',
contentType: "application/x-www-form-urlencoded",
toolbar: '#test_toolbar',
striped: false, //是否显示行间隔色
cache: false,
pagination: true,
sortable: false,
sortName: 'AddDate',
sortOrder: "asc",
queryParams: oTableInit.queryParams,
sidePagination: "server",
pageNumber: 1,
pageSize: 20,
pageList: [20, 30, 50, 100],
paginationPreText: '上一页',
paginationNextText: '下一页',
search: false,
strictSearch: false,
showColumns: false,
showRefresh: true,
minimumCountColumns: 2,
clickToSelect: true,//单击行选中
height: 600,
idField: "Id",
uniqueId: "Id", //唯一标识列
showToggle: false,
cardView: false,
detailView: false,
showHeader: true,
singleSelect: false,//是否单选
checkboxHeader: true,
columns: [
{ checkbox: true },
{
title: '序号', field: 'No', width: '50', align: 'center', formatter: function (value, row, index) {
return index + 1;
}
},
{ field: 'Id', title: 'Id', visible: false },
{
field: 'Operate',
title: '操作',
width: '100',
halign: 'center',
align: 'center',
formatter: function (value, row, index) {
var strHtml = "<a title='编辑' onclick='btnEdit(\"" + row.Id + "\")' href='javascript:void(0);'><i class='fa fa-pencil fa-fw'></i></a> &nbsp;";
strHtml += "<a title='删除' onclick='btnDelete(\"" + row.Id + "\")' href='javascript:void(0);'><i class='fa fa-trash-o'></i></a>";
return strHtml;
}
},//或者
{
field: 'Operate', title: '操作', width: '80', halign: 'center', align: 'left',
events: operateEvents,
formatter: function (value, row, index) {
var strHtml = "<a class='upload' title='上传' href='javascript:void(0);'><i class='fa fa-upload fa-fw'></i></a>&nbsp;";
strHtml += "<a class='remove' title='删除' href='javascript:void(0);'><i class='fa fa-trash-o fa-fw'></i></a>";
return strHtml;
}
}
]
});
}; //传递后台的参数
oTableInit.queryParams = function (params) {
//参数对应表格参数
/* 方式一 var temp1 = {
rows: this.pageSize,
page: this.pageNumber,
sort: this.sortName,
order: this.sortOrder
};*/ //序列化表单数据
var searchWhere = $("#activity_SearchForm").serializeFormToJson();
//方式二
var temp = {
limit: params.limit, //页面大小
offset: params.offset / params.limit, //页码
searchWhere: JSON.stringify(searchWhere)//JSON字符串参数
};
return temp;
};
oTableInit.responseHandler = function (res) {
if (res) {
return {
"rows": res.result,
"total": res.totalCount
};
} else {
return {
"rows": [],
"total": 0
};
}
};
return oTableInit;
}; var ButtonInit = function () {
var oInit = new Object(); oInit.Init = function () { //清空查询条件
$("#btnClear").click(function () {
//...
}); //查询
$("#btnSearch").click(function () {
$("#test_Table").bootstrapTable('refresh');
}); //批量显示
$("#btnEdit").click(function () {
var selectRow = $("#test_Table").bootstrapTable('getSelections');
if (selectRow.length <= 0) {
$.modalAlert("请先选中要操作的数据行。", "warning");
} var ids = new Array();
$.each(selectRow, function (i, row) {
ids[i] = row["Id"];
}); $.confirmForm({
//...
});
}); //批量删除
$("#btnDelete").click(function () {
var selectRow = $("#test_Table").bootstrapTable('getSelections');
if (selectRow.length <= 0) {
$.modalAlert("请先选中要操作的数据行。", "warning");
} var ids = new Array();
$.each(selectRow, function (i, row) {
ids[i] = row["Id"];
}); $.deleteForm({
//...
});
});
};
return oInit;
}; //编辑
var btnEdit = function (key) {
//...
} //删除
var btnDelete = function (key) {
//...
} //行事件或采用以下方式 //操作监听事件
window.operateEvents = {
//删除数据行
'click .remove': function (e, value, row, index) {
$('#test_Table').bootstrapTable('remove', { field: 'Id', values: [row['Id']] });
},
//上传
'click .upload': function (e, value, row, index) {
//...
}
};

三、后端处理

         /// <summary>
/// test
/// </summary>
/// <param name="limit">页数据大小</param>
/// <param name="offset">页码</param>
/// <param name="searchWhere"></param>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public JsonResult GetCommentGridJson(int limit, int offset, string searchWhere)
{
//总数
int rowCount = ;
IList<T> list = null;
return Json(new { total = rowCount, rows = list });
} //返回JSON必须包含total,rows

Bootstrap table 分页 In asp.net MVC的更多相关文章

  1. [转]Bootstrap table 分页 In asp.net MVC

    本文转自:https://www.cnblogs.com/lenovo_tiger_love/p/7474403.html 中文翻译文档: http://blog.csdn.net/rickiyeat ...

  2. Bootstrap table分页问题汇总

    首先非常感谢作者针对bootstrap table分页问题进行详细的整理,并分享给了大家,希望通过这篇文章可以帮助大家解决Bootstrap table分页的各种问题,谢谢大家的阅读. 问题1 :服务 ...

  3. bootstrap table分页(前后端两种方式实现)

    bootstrap table分页的两种方式: 前端分页:一次性从数据库查询所有的数据,在前端进行分页(数据量小的时候或者逻辑处理不复杂的话可以使用前端分页) 服务器分页:每次只查询当前页面加载所需要 ...

  4. MvcPager 概述 MvcPager 分页示例 — 标准Ajax分页 对SEO进行优化的ajax分页 (支持asp.net mvc)

    该示例演示如何使用MvcPager最基本的Ajax分页模式. 使用AjaxHelper的Pager扩展方法来实现Ajax分页,使用Ajax分页模式时,必须至少指定MvcAjaxOptions的Upda ...

  5. LayUI分页基于ASP.NET MVC

    ---恢复内容开始--- 今天写了挺久的分页,百度了很多都没有很好的.Net实例,今天我来更新一期关于layuiTable分页 首先你得理解layui的官方文档的Table分页部分,我在这里附上地址 ...

  6. bootstrap table 分页序号递增问题 (转)

    原文地址:https://segmentfault.com/q/1010000011040346 如题,怎么在bootstrap table中显示序号,序号递增,并且分页有效,等于是每页10条,第2页 ...

  7. bootstrap table分页,重新数据查询时页码为当前页问题

    问题描述: 使用bootstrap table时遇到一个小问题,第一次查询数据未5页,翻页到第5页后,选中条件再次查询数据时,传到后端页码仍旧为5,而此时数据量小于5页,表格显示为未查询到数据. 处理 ...

  8. bootstrap table分页limit计算pageIndex和pageSize

    由于bootstrap table的js无法直接获取pageSize和pageIndex的值,只能通过limit进行计算.

  9. bootstrap table 分页后,重新搜索的问题

    前提: 自定义搜索且有分页功能,比如搜索产品名的功能. 现象:当搜索充气娃娃的时候返回100条记录,翻到第五页.  这时候搜索按摩棒,数据有200条,结果应该是第一页的记录,但是实际显示的还是第五页的 ...

随机推荐

  1. jenkins 'cordova' command not recognised on Jenkins Windows slave

    在jenkins里构建ionic项目.在构建Execute Windows bath command 执行 cordova 跟ionic 命令失败.但是运行cmd却能够执行成功. 惊不惊喜 意不意外, ...

  2. visual Studio 2017 扩展开发(三)《绑定快捷键到菜单项》

    如何将键盘快捷方式映射到自定义按钮,怎么使用快捷键启动自己创建的菜单,刚开始做的时候迷糊了,找了很久.可能也是因为刚开始做不是很明白,后面慢慢就懂了.其实非常简单的. 很多快捷键已经在Visual s ...

  3. springBoot(9)---定时任务,异步任务

    定时任务,异步任务 一.定时任务 1.步骤: 1:在启动类上写@EnableScheduling注解 2:在要定时任务的类上写@component 3:在要定时执行的方法上写@Scheduled(fi ...

  4. ubuntu mysql Access denied for user root@localhost

    解决办法: 1. vim mysqld.cnf  路径:/etc/mysql/mysql.conf.d 在[mysqld]下添加skip-grant-tables 2. 重启mysql服务 servi ...

  5. Chapter 4 Invitations——8

    "So," Mike said, looking at the floor, "Jessica asked me to the spring dance." “ ...

  6. 安装postgreSQL出现configure: error: zlib library not found解决方法

    ./configure --prefix=/usr/local/pgsql ..... configure: error: zlib library not foundIf you have zlib ...

  7. shiro 获取请求头中的 sessionId

    前言: 在前后端项目中, 前端有可能会要求, 后台返回一个 sessionId 给他, 然后他在请求后台接口时, 把这个sessionId 带给后台, 后台拿到这个sessionId , 就能识别, ...

  8. python练习五—简单web应用

    配置apache 我以前web开发基本都是基于java平台的,比如tomcat,servlet等等,由tomcat接收http请求,然后交给servlet处理,servlet处理完成以后把返回结果交给 ...

  9. 使用Task异步执行方法_多线程_应用程序池

    偶然遇到在执行登录的方法需要发送消息队列导致登录时间过长的问题,从网上查了一些方法,先将一个简单的异步处理程序的小例子展示出来,供大家参考: 备注:该方法是从应用程序程序所在的线程池中获取线程,第一次 ...

  10. [转]Angular4 数据请求 POST、GET

    本文转自:https://blog.csdn.net/dailuwen/article/details/79375980 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog ...