【ASP.NET】分页 使用PagedList.Mvc

在管理NuGet程序包为项目安装PagedList.Mvc

在Controller中引入命名空间using PagedList;

获取分页数据

public ActionResult Index(int? page)
{
    //第几页  
    int pageNumber = page ?? 1;

    //每页显示数据条数 
    int pageSize = 2;

    //获取分页数据  
    IPagedList<Student> pagedList = db.Student.OrderBy(x => x.Id).ToPagedList(pageNumber, pageSize);

    return View(pagedList);
}

添加视图

在视图中添加命名空间@using PagedList.Mvc;

同时在最下面添加分页功能PagedListPager

@model PagedList.IPagedList<Web_MVC_4_5.Models.Student>
@using PagedList.Mvc;

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model[0].Name)
        </th>
        <th>
            @Html.DisplayNameFor(model => model[0].Age)
        </th>
        <th>
            @Html.DisplayNameFor(model => model[0].Sex)
        </th>
        <th></th>
    </tr>

    @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.Name)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Age)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Sex)
            </td>
            <td>
                @Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
                @Html.ActionLink("Details", "Details", new { id = item.Id }) |
                @Html.ActionLink("Delete", "Delete", new { id = item.Id })
            </td>
        </tr>
    }

</table>

第 @Model.PageNumber 页,共 @Model.PageCount 页,当前页 @Model.PageCount 条数据, 每页 @Model.PageSize 条数据,共 @Model.TotalItemCount 条数据
@Html.PagedListPager(Model, page => Url.Action("Index", new { page }))

效果

相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页