1.分页需要配置一些参数

 function init() {
$('#bootstrapModel').bootstrapTable({
url: "../Listing.ashx",
contentType: "application/x-www-form-urlencoded",
method: 'post',
pagination: true, //是否分页
sidePagination: "server", //服务器端分页
pageNumber: 1,//初始化加载第一页,默认第一页
pageSize: 5, //页面显示数据条数
pageList: [3, 5, 7, 9], //可供选择的页面显示条数
queryParamsType: "", //设置为 'limit' 则会发送符合 RESTFul 格式的参数。
queryParams: queryParams, columns: [
{
field: 'ProductID',
title: '编号'
}, {
field: 'Name',
title: '产品名称'
}, {
field: 'Description',
title: '描述'
}, {
field: 'Price',
title: '价格'
} ]
});
} function queryParams(params) {
return {
pageSize: params.pageSize,
pageNumber: params.pageNumber
}
}

2.可以看到bootstraptable需要我们提供2个重要的参数,一个是pageSize,一个是pageNumber,而这两个值在参数params中能够直接取到,下面是官方api

3.但是还有一个totalCount需要后台的json传递给bootstraptable,下面是后台封装json的方法

  public void ProcessRequest(HttpContext context)
{ //context.Response.ContentType = "text/plain"; int pageNumber =Convert.ToInt32( context.Request["pageNumber"]);
int pageSize =Convert.ToInt32( context.Request["pageSize"]); var productList = repo.Products.ToList().
Skip((pageNumber-)*pageSize).Take(pageSize);
var count = repo.Products.ToList().Count(); var result = new { total = count, rows = productList };
var productListJson = JsonConvert.SerializeObject(result);
context.Response.Write(productListJson);
}

完成以上步骤的话应该就没什么问题了

4.如果queryParamsType设置为'limit'的话,表示需要传递一个offset偏移量,就是跳过多少条,是bootstraptable帮我们计算好了的,相当于(pageNumber-1)*pageSize

 function init() {
$('#bootstrapModel').bootstrapTable({
url: "../Listing.ashx",
contentType: "application/x-www-form-urlencoded",
method: 'post',
pagination: true, //是否分页
sidePagination: "server", //服务器端分页
pageNumber: 1,//初始化加载第一页,默认第一页
pageSize: 5, //页面显示数据条数
pageList: [3, 5, 7, 9], //可供选择的页面显示条数
queryParamsType: 'limit', //设置为 'limit' 则会发送符合 RESTFul 格式的参数。
queryParams: queryParams, columns: [
{
field: 'ProductID',
title: '编号'
}, {
field: 'Name',
title: '产品名称'
}, {
field: 'Description',
title: '描述'
}, {
field: 'Price',
title: '价格'
} ]
});
} //function queryParams(params) {
// return {
// pageSize: params.pageSize,
// pageNumber: params.pageNumber
// }
//} function queryParams(params) {
var temp = {
pageSize: params.limit, //页面有多少条
offset: params.offset //跳过多少条
};
return temp;
}

后台相应修改为

 public void ProcessRequest(HttpContext context)
{ //context.Response.ContentType = "text/plain"; int offset = Convert.ToInt32( context.Request["offset"]);
int pageSize =Convert.ToInt32( context.Request["pageSize"]); //var productList = repo.Products.ToList().
// Skip((pageNumber-1)*pageSize).Take(pageSize);
var productList = repo.Products.ToList().
Skip(offset).Take(pageSize);
var count = repo.Products.ToList().Count(); var result = new { total = count, rows = productList };
var productListJson = JsonConvert.SerializeObject(result);
context.Response.Write(productListJson);
}

bootstraptable学习(2)分页的更多相关文章

  1. 基于Metronic的Bootstrap开发框架经验总结(18)-- 在代码生成工具Database2Sharp中集成对Bootstrap-table插件的分页及排序支持

    在我们开发系统界面,包括Web和Winform的都一样,主要的界面就是列表展示主界面,编辑查看界面,以及一些辅助性的如导入界面,选择界面等,其中列表展示主界面是综合性的数据展示界面,一般往往需要对记录 ...

  2. Bootstrap-table学习笔记(二)——前后端分页模糊查询

    在使用过程中,一边看文档一边做,遇到了一些困难的地方,在此记录一下,顺便做个总结: 1,前端分页 2,后端分页 3,模糊查询 前端分页相当简单,在我添加了2w条测试数据的时候打开的很流畅,没有卡顿. ...

  3. bootstrap-table.js扩展分页工具栏,增加跳转到xx页

    新项目,准备引用bootstrap-table这个控件来展示页面上的表格,无奈这款控件的分页工具栏没有跳转到xx页的功能,为了适应公司美工(只会出图的美工,却跟我要求这要求那)的蛋疼需求,硬着头皮改了 ...

  4. Bootstrap插件系列——Bootstrap-table初始化、分页、客户端搜索、服务端搜索

    又好久不写博客,最近项目都是用的bootstrap的样式,不出意外,应该是要在bootstrap的道路上越走越远了,所以下定决心,把bootstrap的插件都好好学学. 昨天写了boostrap-ta ...

  5. bootstrapTable 学习使用

    Bootstrap离线API Bootstrap Table 离线API <input type="button" id="btn_searcher" v ...

  6. 修改bootstrap-table中的分页样式

    使用bootstrap-table时,使用$("")选择器没办法选中下方的分页button按钮,可能跟它是动态生成的有关吧. 最终找到与之对应的js(bootstrap-table ...

  7. 关于bootstrap-table服务端分页问题

    昨天项目中涉及到了前端表格分页问题.数据一共有1万多条,所以选择了后端分页. 之前用的都是前端分页,第一次使用后端分页.网上也找到了一些例子,最后做出来了. 这里用的是bootstrap-table插 ...

  8. bootstrap-table学习

    参考学习  http://bootstrap-table.wenzhixin.net.cn/getting-started/ 包括Bootstrap库(如果你的项目没有使用它)和bootstrap-t ...

  9. bootstrap-table服务端分页操作

    由于数据库查询的数据过多,所以采取服务端分页的操作,避免一次性加载的数据量过多,导致页面加载缓慢. 后端数据的封装格式json数据 rows里的数据是当前页的数据,total是总条数: { " ...

随机推荐

  1. Scala下划线_使用

    下划线这个符号几乎贯穿了任何一本Scala编程书籍,并且在不同的场景下具有不同的含义,绕晕了不少初学者.正因如此,下划线这个特殊符号无形中增加Scala的入门难度.本文希望帮助初学者踏平这个小山坡. ...

  2. PHP 统计一维数组value同样的元素的个数num,并将其转化为下标为数字,值是value和num的二维数组

    近期做一个项目.从数据库查询某个字段得到一个数组key是数字值是channel的一维数组$res,现须要将这个数组变成键是数字值是channel和num(num为同样channel的数量,默觉得0). ...

  3. Tanks!Tutorial 学习

    using UnityEngine; namespace Complete { public class CameraControl : MonoBehaviour { /// <summary ...

  4. ASP.NET MVC中有四种过滤器类型

    在ASP.NET MVC中有四种过滤器类型

  5. KNN算法原理(python代码实现)

    kNN(k-nearest neighbor algorithm)算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性 ...

  6. linux centos6 yum 安装lamp

    centos 6.5 1.yum安装和源代码编译在使用的时候没啥区别,但是安装的过程就大相径庭了,yum只需要3个命令就可以完成,源代码需要13个包,还得加压编译,步骤很麻烦,而且当做有时候会出错,源 ...

  7. HDU3501——欧拉函数裸题

    给整数N(1 ≤ N ≤ 1000000000),求小于N的与N不互素的所有正整数的和. 思路:1.用欧拉函数求出小于N的与N互素的正整数的个数: 2.若 p 与 N 互素,则 N-p 必与 N 互素 ...

  8. cvsnt报错:Administrator: Switch to user failed due to configuration error. Contact your System Administrator

    在安装CVSNT一开始用Administrator登录时总是报[login aborted]Switch to user failed due to configuration error. Cont ...

  9. python show slave status

    #!/usr/bin/env python import MySQLdbimport contextlib @contextlib.contextmanagerdef mysql(Host,Port, ...

  10. 1、Dreamweaver+php开发网站第一步

    1.首先在appserv目录下的www中建立一个网站文件夹,例如test 2.在Dreamweaver中的站点下新建站点进行配置,其中站点选项和服务器选项都要配置. 3.然后在Dreamweaver中 ...