最开始我的数据绑定使用的razor语法来绑定的 就像下面这样

@if (ViewBag.listBlog != null)
{
foreach (var item in ViewBag.listBlog)
{
<tr>
<td>@item.CreateDate</td>
<td>@item.Title</td>
<td>@item.CaName</td>
<td>@item.VisitNum</td>
<td>@item.Sort</td>
<td>
<a href="/Admin/Blog/Edit?Id=@item.Id" class="layui-btn layui-btn-normal layui-btn-sm">编辑</a>
<button onclick="del(@item.Id)" class="layui-btn layui-btn-sm layui-btn-danger">删除</button>
</td>
</tr>
}
}

但是这种做法用来做分页laypage是没办法的 不知道这种绑定方式有没有简单的分页方法 我自己没找到  加入找到的话再过来更新这个博客

下面我就用的是异步的接口来获取数据实现分页

第一步:引用必要的模块 访问获取数据总量的接口 在这个请求的回调函数中 使用laypager的渲染来渲染分页

layui.use(['layer', 'form', 'laypage'], function () {
var layer = layui.layer
var form = layui.form;
var laypage = layui.laypage;
var url = "/Admin/Blog/GetTotalCount?t=" + new Date().valueOf();
$.ajax({
url: url,
type: "GET",
success: function (res) {
//调用分页
laypage.render({
elem: 'pages'
, count: parseInt(res)
, limit: pageSize
, jump: function (obj) {
var pageIndex = obj.curr;
load_blog_data(pageIndex);
}
});

}
});

});

第二步:再laypage的jump回调函数中 这里表示点击了一个分页中的按钮 如数字或者下一页 此时 我们得到当前页是 var pageIndex = obj.curr;(来自laypage)

然后根据当前页 访问数据接口去获取数据 (这里将他封装在了方法里面:load_blog_data(pageIndex))

下面看一下方法的具体写法:

/*加载第X页数据*/
function load_blog_data(pageIndex) {
var url = "/Admin/Blog/List?pageIndex=" + pageIndex + "&pageSize=" + pageSize;
$.ajax({
url: url,
type: "POST",
success: function (res) {
var html = "";
$.each(res, function (i, blog) {
html += '<tr>';
html += '<td>' + blog.createDate + '</td>';
html += '<td>' + blog.title + '</td>';
html += '<td>' + blog.caName + '</td>';
html += '<td>' + blog.visitNum + '</td>';
html += '<td>' + blog.sort + '</td>';
html += '<td>';
html += '<a href="/Admin/Blog/Edit?Id=' + blog.id + '" class="layui-btn layui-btn-normal layui-btn-sm">编辑</a>';
html += '<button onclick="del(' + blog.id + ')" class="layui-btn layui-btn-sm layui-btn-danger">删除</button>';
html += '</td>';
html += '</tr>';
})
$("#tbody").html(html);
}
});
}

可以看到 这个方法其实就是接收当前页 然后访问分页的接口获取到数据集合 在将数据集合用拼接的方式加到div中 其实这里也可以不使用拼接的方式 而是使用layui的数据模板功能。

关于laypage的分页大致就如此

其实layui若果单纯是表格的话 用它自身的数据表格实现分页/查询等会更方便 

 

layui的laypage实现分页/查询的更多相关文章

  1. layui前端框架之分页

    框架环境:SSM框架 为了保证效果,此次演示也用到了jQuery ui框架,大家最好也引入进来 一.去layui官网下载包,解压后,然后导入文件中,最好放再main/webapp文件夹下 官网地址如下 ...

  2. thinkphp5 列表页数据分页查询3-带搜索条件

    先加载模板然后在前端HTML页面请求数据 /** * 加载列表页模板 * @author 冯广福 */ public function index() { LogWriteService::write ...

  3. 使用Layui和Vue实现分页

    原理就是利用Layui的分页组件和Vue组件的模板渲染功能. 我下面直接贴代码,比较直观. index.html <!DOCTYPE html> <html> <head ...

  4. .net通用CMS快速开发框架——问题1:Dapper通用的多表联合分页查询怎么破?

    最近在弄一个东东,类似那种CMS的后台管理系统,方便作为其它项目的初始化框架用的. 现在遇到个问题,如标题所示:Dapper通用的多表联合分页查询怎么破? 难道只能通过拼接sql或者使用存储过程吗?我 ...

  5. java使用插件pagehelper在mybatis中实现分页查询

    摘要: com.github.pagehelper.PageHelper是一款好用的开源免费的Mybatis第三方物理分页插件 PageHelper是国内牛人的一个开源项目,有兴趣的可以去看源码,都有 ...

  6. layui(三)——laypage组件常见用法总结

    laypage 的使用非常简单,指向一个用于存放分页的容器,通过服务端得到一些初始值,即可完成分页渲染.核心方法: laypage.render(options)  来设置基础参数. 一.laypag ...

  7. layui之初始化加分页重复请求问题解决

    layui框架中的page困扰我很久,一个页面初始化后并且分页,导致初始化渲染请求一次,分页再请求了一次,一个接口就重复请求了2次,通过不停的分析和测试,最终解决了这个问题. 基于JQ的ajax二次封 ...

  8. layui 工具条实现分页

    1.页面 <div id="getShowTable" style="width: 100%; height: auto;clear: both;"> ...

  9. Thymeleaf前后端分页查询

    分页查询是一个很常见的功能,对于分页也有很多封装好的轮子供我们使用. 比如使用mybatis做后端分页可以用Pagehelper这个插件,如果使用SpringDataJPA更方便,直接就内置的分页查询 ...

随机推荐

  1. 你知道CPU结构也会影响Redis性能吗?

    啦啦啦,我是卖身不卖艺的二哈,ε=(´ο`*)))唉错啦(我是开车的二哈),我又来了,铁子们一起开车呀! 今天来分析下CPU结构对Redis性能会有影响吗? 在进行Redis性能分析的时候,通常我们会 ...

  2. 搭建zabbix+grafana监控

    编写一件安装脚本 #!/bin/sh echo "\033[32;1m脚本作者:fage\033[0m" #sleep 10 zabbix_version=4.0.2 zabbix ...

  3. TP5调用小程序微信支付,回调,在待支付中再次调用微信支付

    1,必须要有 $mch_id $key $appid这三个值,是需要去申请的,我是直接用公司的2,购买商品订单号用户openid统一下单名称商品价格(必须以分为单位,调起微信支付)服务器的ip地址(没 ...

  4. tomcat 验证码显示问题

    在Web开发中使用验证码时可能遇到的问题:java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsE ...

  5. <二分查找+双指针+前缀和>解决子数组和排序后的区间和

    <二分查找+双指针+前缀和>解决子数组和排序后的区间和 题目重现: 给你一个数组 nums ,它包含 n 个正整数.你需要计算所有非空连续子数组的和,并将它们按升序排序,得到一个新的包含 ...

  6. docker系统化学习图文+视频教程

    1.背景 博客对应的视频课程: 9.9元在线学习:https://study.163.com/course/courseMain.htm?share=2&shareId=40000000033 ...

  7. centos8平台使用loginctl管理登录用户与session

    一,loginctl的用途: 控制 systemd 登录管理器 管理当前登录的用户和session 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/a ...

  8. lumen单元测试

    phpunit --filter testInfo  tests/UserTest.php UserTest.php <?php use Laravel\Lumen\Testing\Databa ...

  9. windows搭建SVN服务

    下载`TortoiseSVN 官网下载址:https://www.visualsvn.com/visualsvn/download/tortoisesvn/ 根据自己系统环境选择 安装Tortoise ...

  10. Jquery特效之=》仿京东多条件筛选特效

    仿京东多条件筛选特效 * { margin: 0; padding: 0; list-style-type: none } a, img { border: 0 } body { font: 12px ...