枕上诗书闲处好,门前风景雨来佳。这篇文章主要讲述通用权限管理系统中的分页解决方案相关的知识,希望能为你提供帮助。
在做项目中,一定会涉及到数据分页的处理,如有一个通用的分页解决办法就好了,发现在通用权限管理系统中就有这种方案。
基本上可实现所有业务共用一个分页方法。
下面是代码的核心部分:
【通用权限管理系统中的分页解决方案】CommonServices.cs
using DotNet.Business;
using DotNet.Utilities;
/// < summary>
/// 获取分页数据(防注入功能的)
/// < /summary>
/// < param name="dbHelper"> dbHelper< /param>
/// < param name="recordCount"> 记录条数< /param>
/// < param name="tableName"> 数据来源表名< /param>
/// < param name="selectField"> 选择字段< /param>
/// < param name="pageIndex"> 当前页< /param>
/// < param name="pageSize"> 每页显示多少条< /param>
/// < param name="conditions"> 查询条件< /param>
/// < param name="dbParameters"> 查询参数< /param>
/// < param name="orderBy"> 排序字段< /param>
/// < returns> 数据表< /returns>
public static DataTable GetDataTableByPage(IDbHelper dbHelper, BaseUserInfo userInfo, out int recordCount, string tableName, string selectField, int pageIndex, int pageSize, string conditions, List< KeyValuePair< string, object> > dbParameters, string orderBy)
DataTable result = null;
recordCount = 0;
if (null != dbHelper)
recordCount = DbLogic.GetCount(dbHelper, tableName, conditions, dbHelper.MakeParameters(dbParameters));
result = DbLogic.GetDataTableByPage(dbHelper, tableName, selectField, pageIndex, pageSize, conditions, dbHelper.MakeParameters(dbParameters), orderBy);
return result;
所有的实现分页的业务层直接调用这个方法即可。
还有一个是可以调用存储过程的,大家可以自己研究下。
推荐阅读
- 一款代码生成器的妙用
- 记录asp.net网站停止运行原因的代码
- 以WCF安全认证方式调用通用权限管理系统获取基础信息资料
- 日记(重载系统避坑指南)
- 搭建Aira2实现个人离线下载
- docker部署Sqlite3数据库
- 使用ip rule和iptables管理openVZ虚拟机的网络和端口映射管理
- eXeScope
- 存储结构与管理硬盘(Day9 ~ Day10)