欢迎来到天天文库
浏览记录
ID:39466401
大小:447.00 KB
页数:14页
时间:2019-07-04
《MVC 3.0 实例系列之表格数据的分页 (16)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、我要学ASP.NETMVC3.0(十六):MVC3.0实例系列之表格数据的分页概述上节我们学习了如何在MVC3应用程序中实现一个简单表格并在表格之中加上了排序的表头,使我们的表格在使用起了更加人性化,这些都是使用了MVC3.0的相关特性来完成的。我们在程序中添加了一个辅助类EmployeeGridModel,来显示我们的Grid的数据,包括所有要传递及初始化的数据,在表格排序的时候起到了很大的作用,同样的我们在分页的时候也需要这样的辅助类。这节我们继续使用MVC的新特性来为Grid中的数据添加分页功能,有了分页功能,表格就不会显得单调,显示起来就更加有美感。问题分析通过上节的学习我们知道,
2、在MVC程序中使用参数可以实现排序,那么我们使用参数怎么实现分页呢?分页有需要那些参数呢?首先:作为一个表格我们必须知道他总共有多少条数据TotalRecordCount,每页显示几条数据PageSize,这样就确定了表格的总页数PageCount其次:我们要知道表格中的数据要从哪一页开始索引显示CurrentPageIndex这样我们就初步把一些参数设想出来了,为了简单期间,我们每页默认显示5条数据,你也可以设置成你想要的值。而数据总条数可以从数据库中得到,总结后得出参数:①page当前页:当前表格索引页。②pageSize每页显示条数:当前表格中显示几条数据。修改辅助类14修改Mode
3、l文件夹的EmployeeGridModel类向类中添加如下代码(以前的代码不变后续功能要使用)......................................publicEmployeeGridModel(){//默认值每页显示5条记录从第1页开始this.PageSize=5;this.CurrentPageIndex=1;}//////当前页的索引///publicintCurrentPageIndex{get;set;}//////每页显示的记录条数///publicintPageSize{ge
4、t;set;}//////总记录条数///publicintTotalRecordCount{get;set;}//////分页总数///publicintPageCount{get{if(TotalRecordCount%PageSize==0){returnTotalRecordCount/PageSize;}else{14returnTotalRecordCount/PageSize+1;}}} 在这里我们设置了分页默认每页显示5条记录,从第一页开始显示。创建Action在EmployeeControlle
5、r添加名为Paged的方法该方法包含两个参数page和pageSize代码如下publicActionResultPaged(intpage=1,intpageSize=5){varmodel=newEmployeeGridModel{CurrentPageIndex=page,PageSize=pageSize,//确定记录总数(才能计算出PageCount页数)TotalRecordCount=this.DataContext.Employee.Count()};//获取当前页的信息model.Employees=this.DataContext.Employee.Skip((mode
6、l.CurrentPageIndex-1)*model.PageSize).Take(model.PageSize);returnView(model);} 首先我们初始化一个辅助类14EmployeeGridModel,读取了数据库中表的记录条数,为相关属性设置默认值,返回一个辅助类的Employeelist注意:此处我们的OrderBy可以参照上篇中的具体操作,这里就不多赘述。创建视图View为Paged的Action添加一个视图View,选择强类型为EmployeeGridModel修改代码为@modelMVC3.Grid.Models.EmployeeGridModel14@{V
7、iewBag.Title="Paged";Layout="~/Views/Shared/_Layout.cshtml";}
总共有@Model.TotalRecordCount条记录,每页显示@Model.PageSize条你正在查看的是@Model.PageCount页的第@Model.CurrentPageIndex页
此文档下载收益归作者所有