您现在的位置是:网站首页> 编程资料编程资料
ASP.NET MVC5 实现分页查询的示例代码_实用技巧_
2023-05-24
374人已围观
简介 ASP.NET MVC5 实现分页查询的示例代码_实用技巧_
对于大量数据的查询和展示使用分页是一种不错的选择,这篇文章简要介绍下自己实现分页查询的思路。
分页需要三个变量:数据总量、每页显示的数据条数、当前页码。
//数据总量 int dataCount; //每页显示的数据条数 int pageDataCount; int pageNumber;
根据数据总量和每页显示的数据条数计算出总页数,根据当前页码和每页显示的数据条数计算出从数据库中读取数据的起始行号和结束行号。
//总页数 int pageCount = (int)Math.Ceiling(dataCount/ (pageDataCount* 1.0)); int startLine = (pageNumber - 1) * PageDataCount + 1; int endLine=startLine + PageDataCount - 1;
对于数据库的查询操作使用轻量级ORM框架Dapper来实现,具体代码如下:
protected IDbConnection CreateConnection() { IDbConnection dbConnection = new SqlConnection(ConnectionString); dbConnection.Open(); return dbConnection; } //获取数据库中数据的总条数 public virtual int QueryDataCount(string tableName) { using (IDbConnection dbConnection = CreateConnection()) { var queryResult = dbConnection.Query("select count(Id) from " + tableName); if (queryResult == null || !queryResult.Any()) { return 0; } return queryResult.First(); } } public virtual IEnumerable RangeQuery(string tableName, int startline, int endline) { if (string.IsNullOrEmpty(tableName)) { throw new ArgumentNullException("表名不得为空或null"); } if (startline <= 0) { throw new ArgumentOutOfRangeException("起始行号必须大于0"); } if (endline - startline < 0) { throw new ArgumentOutOfRangeException("结束行号不得小于起始行号"); } using (IDbConnection dbConnection = CreateConnection()) { var queryResult = dbConnection.Query("select top " + (endline - startline + 1) + " * from " + tableName + " where Id not in (select top " + (startline - 1) + " Id from " + tableName + " order by Id desc) order by Id desc"); if (queryResult != null && queryResult.Any()) { return queryResult; } } return null; } 绘制分页按钮
在App_Code文件夹中添加PageHelper.cshtml文件封装绘制按钮的代码,这里需要注意一点,使用VS发布站点时App_Code文件夹中的文件不会被打包,需要手动拷贝App_Code文件夹中的文件到站点中。
@* amount:数据总数,count:每页显示的数据条数,redierctUrl点击按钮时的跳转链接 页面上需引用:bootstrap.min.css *@ @helper CreatePaginateButton(int amount, int count, string redirectUrl) { } 在前台页面中调用即可绘制分页按钮
@PageHelper.CreatePaginateButton(246, 10, "/usermanager/attentionlist/")
下面是几张分页按钮效果图:



对应的HTML代码:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
您可能感兴趣的文章:
- ASP.NET MVC 5使用X.PagedList.Mvc进行分页教程(PagedList.Mvc)
- MVC+jQuery.Ajax异步实现增删改查和分页
- MVC分页之MvcPager使用详解
- ASP.NET MVC分页的实现方法
- ASP.NET MVC分页和排序功能实现
- ASP.NET MVC4 HtmlHelper扩展类,实现分页功能
- Asp.net MVC 中利用jquery datatables 实现数据分页显示功能
- ASP.NET MVC4 Razor模板简易分页效果
- ASP.NET MVC+EF在服务端分页使用jqGrid以及jquery Datatables的注意事项
- MVC使用MvcPager实现分页效果
相关内容
- ASP.NET 定时器回调方法的重入_实用技巧_
- asp.net core mvc实现伪静态功能_实用技巧_
- Asp.net中Microsoft.Identity的IPasswordHasher加密的默认实现与运用_实用技巧_
- 剖析Asp.Net Web API路由系统---WebHost部署方式_实用技巧_
- asp.net System.Guid ToString五种格式_实用技巧_
- ASP.NET实现从服务器下载文件问题处理_实用技巧_
- asp.net反射简单应用实例_实用技巧_
- ASP.NET MVC用存储过程批量添加修改数据操作_实用技巧_
- 详解ASP.NET与ASP.NET Core用户验证Cookie并存解决方案_实用技巧_
- 基于SignalR的消息推送与二维码扫描登录实现代码_实用技巧_
