Asp.Net MVC分页PageList

1、mvc网站右键->管理nuget程序包->安装下边两个组件

Asp.Net MVC分页PageList

2、controller

        public dbModel db = new dbModel();
        public ActionResult Index(int? page,string uname)
        {
            var pageSize = 5;
            var pageNumber = page ?? 1;
            
            var list = db.dt_dd.ToList();
            if (!string.IsNullOrEmpty(uname))
            {
                list = list.Where(x => x.name.Contains(uname)).ToList();
            }
            
            var listPage = list.OrderBy(x => x.ID);

            IPagedList<dt_dd> pagedList = listPage.ToPagedList(pageNumber, pageSize);
            return View(pagedList);
        }

3、view

@model PagedList.IPagedList<MyMvc.Model.dt_dd>
@using PagedList.Mvc;
@{
    Layout = "~/Views/Shared/_Layoutdd.cshtml";
}

<div>
    <form action="/dd">
        <input type="text" name="uname" />
        <input type="submit" value="搜索" />
    </form>

</div>
<div>
    @foreach (var item in Model)
    {
        <p>
            <b>@item.name</b>
            <span>@item.ordertime</span>
            @Html.ActionLink("编辑", "edit", new { id = item.ID })
            @Html.ActionLink("删除", "Delete", new { id = item.ID })
        </p>

    }

    共 @Model.TotalItemCount 条,
    每页 @Model.PageSize 条,
    共 @Model.PageCount 页,
    当前第 @Model.PageNumber 页
    @Html.PagedListPager(Model, page => Url.Action("Index", new { page, uname = Request.QueryString["uname"] }), new PagedListRenderOptions() { LinkToFirstPageFormat = "首页", LinkToNextPageFormat = "下一页", LinkToPreviousPageFormat = "上一页", LinkToLastPageFormat = "末页", DisplayItemSliceAndTotal = false, MaximumPageNumbersToDisplay = 5 })
</div>