按照如下图安装PageList .PageList.MVC

asp.net mvc 使用Pagelist分页解决方案_MVC

前端页面


<div class="col-lg-12">
        <center>

            <form action="" method="post">
                查询用户:<input type="text" name="keyword" class="form-control" style="display:inline-block;width:200px"
                            value="@(Request.QueryString["keyword"] != null ? Request.QueryString["keyword"]:"" )" placeholder="请输入关键词" />
                <input type="submit" name="submit" value="查询" class="btn btn-info" />
            </form>

        </center>
    </div>






<div align="center">
    <hr>
    每页 @Model.PageSize 条记录,共 @Model.PageCount 页,当前第 @Model.PageNumber 页
    @Html.PagedListPager(Model, page => Url.Action("Index", new { pageIndex = page }))
</div>

控制器

 public ActionResult Index(string sortOrder, string keyword, string currentFilter, int? pageIndex)
        {

            ViewBag.currentSort = sortOrder;
            ViewBag.sotrParam = string.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
            if (keyword != null)
            {
                pageIndex = 1;
            }
            else
            {
                keyword = currentFilter;
            }
            ViewBag.CurrentFiler = keyword;
            var users = from u in db.user select u;
            if (!string.IsNullOrEmpty(keyword))
            {
                users = users.Where(u => u.username.Contains(keyword));
            }
            switch (sortOrder)
            {
                case "name_desc":
                    users = users.OrderByDescending(u => u.username);
                    break;
                default:
                    users = users.OrderBy(u => u.username);
                    break;
            }
            int pageSize = 5;
            int pageNumber = (pageIndex ?? 1);

            return View(users.ToPagedList(pageNumber, pageSize));
        }