asp.net mvc使用PagedList进行分页

Nuget 引入PagedList.mvc,他会自动将Pagedlist也引入

 

在controller下新建Action,实现分页功能

public ActionResult fenye(int? id)//参数可为空
        {    
            var list = from a in db.tb_UserInfo   linq查询所有数据
                       orderby a.UserID
                       select a;
            int pageIndex = id ?? 1;  参数为空默认第一页1
            int pageSize = 10;  每页10条数据
            IPagedList<tb_UserInfo> pagedList = list.ToPagedList(pageIndex, pageSize);   //使用IPagedList接口实现分页
return View(pagedList); }  

新建同名视图fenye.cshtml

引入

@model PagedList.IPagedList<Mvc.Models.qwe.tb_UserInfo>     /传入的数据是IPageList类型,所以要转换一下
@using PagedList.Mvc;

布局页为:

<table class="table table-bordered table-hover text-center">
    <thead>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Gender</th>
            <th>Email</th>
            <th>地址</th>
            <th>电话</th>
            <th>修改</th>
            <th>删除</th>
        </tr>
    </thead>
    <tbody>
        @foreach (var item in Model)
        {
        <tr>
            <td>@Html.DisplayFor(modelItem => item.UserID)</td>
            <td>@Html.DisplayFor(modelItem => item.UserName)</td>
            <td>@Html.DisplayFor(modelItem => item.Gender)</td>
            <td>@Html.DisplayFor(modelItem => item.Email)</td>
            <td>@Html.DisplayFor(modelItem => item.Address)</td>
            <td>@Html.DisplayFor(modelItem => item.Tel)</td>
            <td><a href="/Home/del/@item.UserID">修改</a></td>
            <td><a href="/Home/shanchu/@item.UserID">删除</a></td>
        </tr>
        }
    </tbody>
</table>
<div style="text-align:center">
    每页共:@(Model.PageSize)条数据,共@(Model.PageCount)页,当前第 @(Model.PageNumber)页
    @Html.PagedListPager(Model, id => Url.Action("fenye", new {  id }))//注意此处id,与Action参数对应
</div>

最基本的分页完成,查看效果

posted @ 2021-06-02 15:16  raccon2001  阅读(202)  评论(2)    收藏  举报