layui的laypage实现分页/查询
最开始我的数据绑定使用的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实现分页/查询的更多相关文章
- layui前端框架之分页
框架环境:SSM框架 为了保证效果,此次演示也用到了jQuery ui框架,大家最好也引入进来 一.去layui官网下载包,解压后,然后导入文件中,最好放再main/webapp文件夹下 官网地址如下 ...
- thinkphp5 列表页数据分页查询3-带搜索条件
先加载模板然后在前端HTML页面请求数据 /** * 加载列表页模板 * @author 冯广福 */ public function index() { LogWriteService::write ...
- 使用Layui和Vue实现分页
原理就是利用Layui的分页组件和Vue组件的模板渲染功能. 我下面直接贴代码,比较直观. index.html <!DOCTYPE html> <html> <head ...
- .net通用CMS快速开发框架——问题1:Dapper通用的多表联合分页查询怎么破?
最近在弄一个东东,类似那种CMS的后台管理系统,方便作为其它项目的初始化框架用的. 现在遇到个问题,如标题所示:Dapper通用的多表联合分页查询怎么破? 难道只能通过拼接sql或者使用存储过程吗?我 ...
- java使用插件pagehelper在mybatis中实现分页查询
摘要: com.github.pagehelper.PageHelper是一款好用的开源免费的Mybatis第三方物理分页插件 PageHelper是国内牛人的一个开源项目,有兴趣的可以去看源码,都有 ...
- layui(三)——laypage组件常见用法总结
laypage 的使用非常简单,指向一个用于存放分页的容器,通过服务端得到一些初始值,即可完成分页渲染.核心方法: laypage.render(options) 来设置基础参数. 一.laypag ...
- layui之初始化加分页重复请求问题解决
layui框架中的page困扰我很久,一个页面初始化后并且分页,导致初始化渲染请求一次,分页再请求了一次,一个接口就重复请求了2次,通过不停的分析和测试,最终解决了这个问题. 基于JQ的ajax二次封 ...
- layui 工具条实现分页
1.页面 <div id="getShowTable" style="width: 100%; height: auto;clear: both;"> ...
- Thymeleaf前后端分页查询
分页查询是一个很常见的功能,对于分页也有很多封装好的轮子供我们使用. 比如使用mybatis做后端分页可以用Pagehelper这个插件,如果使用SpringDataJPA更方便,直接就内置的分页查询 ...
随机推荐
- Windows 系统蓝屏错误小全
0 0x00000000 作业完成. 1 0x00000001 不正确的函数. 2 0x00000002 系统找不到指定的档案. 3 0x00000003 系统找不到指定的路径. 4 0x000000 ...
- 玩转控件:GDI+动态绘制流程图
前言 今天,要跟大家一起分享是"GDI+动态生成流程图"的功能.别看名字高大上(也就那样儿--!),其实就是动态生成控件,然后GDI+绘制直线连接控件罢了.实际项目效果图如下 ...
- Redis GEO 功能使用场景
本文来源:https://www.dazhuanlan.com/2020/02/05/5e3a0a3110649/ 背景 前段时间自己在做附近直播相关业务,其中有一个核心的点就是检索用户附近的主播,也 ...
- 安装两个Eclipse 版本不一致,高版本无法打开
Could not create the JavaVirtual Machine,A fatal exception has occurred. 首先删除了 工作空间的配置 然后删除掉C:\Windo ...
- bootStrap小结1
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 分布式锁结合SpringCache
1.高并发缓存失效问题: 缓存穿透: 指查询一个一定不存在的数据,由于缓存不命中导致去查询数据库,但数据库也无此记录,我们没有将此次查询的null写入缓存,导致这个不存在的数据每次请求都要到存储层进行 ...
- redis 各种数据结构的encoding实现
redis 各种数据结构的encoding实现 Redis type命令实际返回的就是当前键的数据结构类型,它们分别是:string(字符串).hash(哈希).list(列表).set(集合).zs ...
- javascript 数字 字母 互转
var alphabet= String.fromCharCode(64 + parseInt(填写数字); 单个字符转数字: 'a'.charCodeAt(0) 结果: 97 数字转字母: Stri ...
- Linux的外部命令的执行
查看外部命令的路径 whereis 不但能显示出外部命令的路径还能显示出帮助文档 which -a |--skip-alias whereis
- MySql中varchar和char,如何选择合适的数据类型?
背景 学过MySQL的同学都知道MySQL中varchar和char是两种最主要的字符串类型,varchar是变长的类型,而char是固定长度.那关于如何选择类型就成为令人头疼的事,很多初学者为了保证 ...