构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页

系列目录

前言

为了符合后面更新后的重构系统,文章于2016-11-1日重写

EasyUI Datagrid在加载的时候会提交一些分页的信息到后台,我们需要根据这些信息来进行数据分页再次返回到前台

实现

首先要让DataGrid支持分页,我们需要在JS Datagrid中加入下列几个属性

  1. 是否启用分页:pagination 默认是false
  2. 每页数量:pageSize 默认10
  3. 可选择每页数量:pageList 默认[10,20,30,40,50]
  4. 排序字段:sortName 默认null
  5. 排序类型:sortOrder 默认asc

OK加入后的代码变成这样

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页 Index

预览一下

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页

实际已经分页,但是不正确的,每一页的数据一样。我们要根据分页的参数去取

查看技巧

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页

OK我们控制器要根据他传递的参数写同样的参数名称,否则获取不到

看我们的SysSampleController 下的GetList方法,加入参数

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页 SysSampleController

BLL代码修改(IBLL也要修改参数 List<SysSampleModel> GetList(int page, int rows, string sort, string order,ref int total);)

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页 SysSampleBLL

 我们要在BLL层返回当前查询的全部条数,还要返回当前页得数据

补脑:ref关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用ref参数,则方法定义和调用方法都必须显式使用ref关键字。

大家看出这样太麻烦了,代码太不漂亮了,我们把常用的参数给封装了。

分装分页

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页 GridPager

把这个类放到Apps.Common, 我们的Apps.Common终于用到了
再次修改Controller的GetList

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页 SysSampleController

和修改BLL的GetList 还要修改IBLL --List<SysSampleModel> GetList(ref GridPager pager);

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页 SysSampleBLL

代码漂亮了不少,预览一下,还是正确的效果了。

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页

总结

文章中一直演示做法,这种方式看起来非常反感,但是都是为了更好更仔细的了解系统,为后面快速开发做铺垫

本文转自ymnets博客园博客,原文链接:http://www.cnblogs.com/ymnets/p/3428740.html,如需转载请自行联系原作者
上一篇:《Cisco安全防火墙服务模块(FWSM)解决方案》——1.6 总结


下一篇:学习Nagios(一):Nagios安装