如何用.net mvc 传值给前端layui分页
时间: 2024-03-12 20:49:51 浏览: 93
首先,在后端的Controller中获取数据并进行分页处理,可以使用PagedList.Mvc库来方便实现分页功能。
在Controller中返回的Model中,需要包含分页信息和当前页的数据。
然后,在前端的视图文件中,引入layui分页插件,然后通过ajax异步请求后端数据,并将数据填充到页面中。
示例代码如下:
Controller:
```csharp
public ActionResult Index(int? page)
{
int pageNumber = page ?? 1;
int pageSize = 10;
List<User> userList = userRepository.GetUserList();
// 分页处理
var pagedList = userList.ToPagedList(pageNumber, pageSize);
return View(pagedList);
}
```
View:
```html
<div id="user-list">
@Html.Partial("_UserList", Model)
</div>
<div id="pagination"></div>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/layui/2.6.9/layui.all.min.js"></script>
<script>
layui.use(['laypage'], function () {
var laypage = layui.laypage;
// 初始化分页
laypage.render({
elem: 'pagination',
count: @Model.TotalItemCount,
limit: @Model.PageSize,
curr: @Model.PageNumber,
jump: function (obj, first) {
// 首次不执行
if (!first) {
// 异步请求后端数据
$.get('@Url.Action("Index")', { page: obj.curr }, function (data) {
$('#user-list').html(data);
laypage.render({
elem: 'pagination',
count: @Model.TotalItemCount,
limit: @Model.PageSize,
curr: obj.curr
});
});
}
}
});
});
</script>
```
其中,_UserList是一个局部视图文件,用于展示每页的数据。在laypage.render函数中,需要传入count、limit、curr三个参数,分别表示总数据量、每页数据量和当前页码。在jump回调函数中,需要异步请求后端数据,并将数据填充到页面中。最后,再次调用laypage.render函数,更新分页组件。
阅读全文