第一步:添加引用
<link href="~/Content/layuiCMS/layui/css/layui.css" rel="stylesheet" /> <script src="~/Content/layuiCMS/layui/layui.js"></script>
二、界面设计
<div class="layui-form news_list">
<div class="layui-form users_list">
<table class="layui-table">
<colgroup>
<col width="50">
<col>
<col width="18%">
<col width="8%">
<col width="12%">
<col width="12%">
<col width="18%">
<col width="15%">
</colgroup>
<thead>
<tr>
<th><input type="checkbox" name="" lay-skin="primary" lay-filter="allChoose" id="allChoose"></th>
<th>登录名</th>
<th>姓名</th>
<th>性别</th>
<th>邮箱</th>
<th>地址</th>
<th>时间</th>
<th>操作</th>
</tr>
</thead>
<tbody class="users_content"></tbody>
</table>
</div>
<div id="page"></div>
</div>
三、添加一个js文件,并将文件引入界面:
layui.config({
base : "js/"
}).use(['form','layer','jquery','laypage'],function(){
var form = layui.form(),
layer = parent.layer === undefined ? layui.layer : parent.layer,
laypage = layui.laypage,
$ = layui.jquery;
//加载页面数据
var usersData = '';
$.get("/UserManage/GetInfo",{
pageSize:10, //显示页面的数量
pageindex:1 //当前页
}, function (data) {
usersData = data.rows;
//执行加载数据的方法
usersList(data.rows);
})
//表格数据和分页
function usersList(that) {
//渲染数据
function renderDate(curr) {
var dataHtml = '';
if (!that) {
currData = usersData.concat().splice(curr * nums - nums, nums);
} else {
currData = that.concat().splice(curr * nums - nums, nums);
}
if (currData.length != 0) {
for (var i = 0; i < currData.length; i++) {
dataHtml += '<tr>'
+ '<td><input type="checkbox" name="checked" value="' + currData[i].Id + '" lay-skin="primary" lay-filter="choose"></td>'
+ '<td>' + currData[i].LoginName + '</td>'
+ '<td>' + currData[i].Name + '</td>'
+ '<td>' + currData[i].Sex + '</td>'
+ '<td>' + currData[i].Email + '</td>'
+ '<td>' + currData[i].Address + '</td>'
+ '<td>' + currData[i].Birth + '</td>'
+ '<td>'
+ '<a class="layui-btn layui-btn-mini users_edit layui-btn-mini"><i class="iconfont icon-edit"></i> 编辑</a>'
+ '<a class="layui-btn layui-btn-danger layui-btn-mini users_del" data-id="' + currData[i].Id + '"><i class="layui-icon">�</i> 删除</a>'
+ '</td>'
+ '</tr>';
}
} else {
dataHtml = '<tr><td colspan="8">暂无数据</td></tr>';
}
return dataHtml;
}
//分页
var nums = 10; //每页出现的数据量
laypage({
cont: "page",
pages: Math.ceil(usersData.length / nums), //得到总页数
skip: true, //是否开启跳页
groups: 5, //连续显示分页数
jump: function (obj) {
$(".users_content").html(renderDate(obj.curr)); //渲染数据
$('.users_list thead input[type="checkbox"]').prop("checked", false);
form.render(); //渲染表单
}
})
}
//全选
form.on('checkbox(allChoose)', function (data) {
var child = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"])');
child.each(function (index, item) {
item.checked = data.elem.checked;
});
form.render('checkbox');
});
//通过判断文章是否全部选中来确定全选按钮是否选中
form.on("checkbox(choose)", function (data) {
var child = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"])');
var childChecked = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"]):checked')
if (childChecked.length == child.length) {
$(data.elem).parents('table').find('thead input#allChoose').get(0).checked = true;
} else {
$(data.elem).parents('table').find('thead input#allChoose').get(0).checked = false;
}
form.render('checkbox');
})
})
后台控制器:
public ActionResult GetInfo(int pageSize, int pageIndex)
{
//使用EF框架的增删改查和分页的公共类
BaseRepository<Articles> db = new BaseRepository<Articles>();
int total;
Func<Articles, bool> where = s => s.ID > 0 && s.Type == 2;
Func<Articles, int> order = s => s.ID;
var list = db.LoadPagerEntities(pageSize, pageIndex, out total, where, false, order).ToList();
var dic = new Dictionary<string, object>
{
{"rows",list },
{"total", total}
};
return Json(dic, JsonRequestBehavior.AllowGet);
}
