打开Visual Studio 2017 选择 项目----->管理nuget包  其他版本也有

输入paged 下载安装 pagedList和pagedList.mvc

asp.net mvc 性能监控 asp.net mvc ef_asp.net mvc 性能监控

 

 在model文件新建一个分页的类比如课程:

1 //要引入PagedList命名空间
 2 using PagedList;
 3 using System;
 4 using System.Collections.Generic;
 5 using System.Linq;
 6 using System.Web;
 7 
 8 namespace jiaowu.Models
 9 {
10     public class ViewCourse
11     {
12         //创建课程对象
13         public IPagedList<Course> Course { get; set; }
14         /**条件**/
15         //按姓名查询
16         public string Name { get; set; }
17         //排序条件
18         public string SortBy { get; set; }
19 
20     }
21 }

在中控制器中

1  /// <summary>
 2        /// 查询课程信息
 3        /// </summary>
 4        /// <param name="Name">课程名字</param>
 5        /// <param name="page">当前页</param>
 6        /// <returns></returns>
 7         public ActionResult CourseList(string Name,int? pageIndex)
 8         {
 9             //查询所有的课程列表
10             var coures = en.Courses.OrderBy(m => m.Id);
11             //每页显示的数量
12             const int pageItems =4;
13             //当前页
14             int currentPage = (pageIndex ?? 1);
15             //查询所有的课程信息
16             IPagedList<Course> pageCoures = coures.ToPagedList(currentPage, pageItems);
17             //实例花一个ViewCourse的对象
18             ViewCourse vcourse = new ViewCourse();
19             
20             //判断用户名是否为空
21             if (string.IsNullOrEmpty(Name))
22             {
23                 //为空查询所有
24                 vcourse.Course = pageCoures;
25             }
26             else
27             {
28                 //不为空根据姓名查询
29                 vcourse.Course = pageCoures.Where(m => m.Name == Name).ToPagedList(currentPage,pageItems); ;
30             }
31             return View(vcourse);
32         }
33

View视图中

1 <div style="width:1040px">
2         <div style="float:right">
3             @Html.PagedListPager(Model.Course, page => Url.Action("CourseList", new { Name = Model.Name, page }))
4         </div>
5         <div style="float:right;margin-top:28px;margin-right:10px">
6             第 @(Model.Course.PageCount < Model.Course.PageNumber ? 0 : Model.Course.PageNumber) 页 共 @Model.Course.PageCount  页
7         </div>
8
9     </div>