Asp.Net分页生成页码超链接方法
namespace Common
{
public class PageLinkHelp
{
/// <summary>
/// 生成分页超链接标签
/// 使用了Bootstrap3的分页样式:首页«第380页第381页第382页第383页第384页»尾页
/// </summary>
/// <param name="pageIndex">当前页码(当前页索引)</param>
/// <param name="pageCount">总页码数
/// 总页数计算公式:
/// 第1种.Math.Max((数据总条数 + 每页显示的数量 - 1) / 每页显示的数量, 1):
/// var pageCount = Math.Max((count + pageSize - 1) / pageSize, 1);
/// 第2种.(int)Math.Ceiling(数据总条数 * 1.00 / 每页显示的数量) :
/// var pageCount = (int)Math.Ceiling(count * 1.00 / pageSize);
/// </param>
/// <returns>页码超链接</returns>
public static string GetPageBar(int pageIndex, int pageCount)
{
if (pageCount <= )
{
return string.Empty;
}
int start = (pageIndex - );
if (start < )
{
start = ;
}
int end = (start + );
if (end > pageCount)
{
start += pageCount - end;
end = pageCount;
}
var linkStr = new System.Text.StringBuilder();
linkStr.Append("<ul class=\"pagination\">");
if (pageIndex != )
{
linkStr.Append($"<li class=\"page-item\"><a class=\"page-link\" href='?pageIndex={1}' >首页</a></li>");
linkStr.Append($"<li class=\"page-item\"><a class=\"page-link\" href='?pageIndex={pageIndex - 1}' >«</a></li>");
}
for (int i = start; i <= end; i++)
{
if (i == pageIndex)
{
//active
//当前页
linkStr.Append($"<li class=\"page-item active\"><a class=\"page-link\" href='?pageIndex={i}' >第{i}页</a></li>");
}
else
{
linkStr.Append($"<li class=\"page-item\"><a class=\"page-link\" href='?pageIndex={i}' >第{i}页</a></li>");
}
}
if (pageIndex < pageCount)
{
linkStr.Append($"<li class=\"page-item\"><a class=\"page-link\" href='?pageIndex={pageIndex + 1}' >»</a></li>");
linkStr.Append($"<li class=\"page-item\"><a class=\"page-link\" href='?pageIndex={pageCount}' >尾页</a></li>");
}
linkStr.Append("</ul>");
return linkStr.ToString();
}
}
}
记录一下,方便以后用。。。感觉计算这些乱七八糟的。。。
Asp.Net分页生成页码超链接方法的更多相关文章
- 在asp.net 中生成PDF的方法
近期要用asp.net 2.0生成PDF,看了下书,查了下资料,发现可以有组件帮得上忙,可以下载itextsharp(https://sourceforge.net/projects/itextsha ...
- ASP.NETMVC4 分页组合查询解决方法
本人新手刚在webform转到mvc 像linq ef啥的,都是不会的不行不行的,不会就问群友,找资料 今天本屌遇到了一个分页组合查询的问题,解决了2个小时,把代码共享给大家 话不多话,直接上代 ...
- Layui 点击查询分页,页码不刷新解决方法
Layui 点击查询分页,页码不刷新解决方法 function queryDataGrid() { layui.table.reload(tableName, { where: { //设定异步数据接 ...
- ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)
在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图.但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上去更好.打开Models \ Movie ...
- asp.net 分页-自己写分页控件
去年就发表过asp.net 分页-利用后台直接生成html分页 ,那种方法只是单纯的实现了分页,基本不能使用,那时就想写个自己的分页控件,无奈能力有限.最近有点时间了,就自己做出了这个分页控件.我承认 ...
- (转)asp.net分页存储过程
Asp.Net分页存储过程 SQL分页语句 一.比较万能的分页: sql代码: 1 2 3 select top 每页显示的记录数 * from topic where id not in (sel ...
- [转]ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)
在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图.但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上去更好.打开Models \ Movie ...
- jqPaginator-master | kkpager-master 这两个分页插件的使用方法
首先:百度"分页插件" 就会 找到这条链接: url=X8P3UpOM-6ceSfjdngX0oh9cNmVwSDy94CxKqWIazhyZ7If4S8wgpPqyEGUhk2t ...
- asp.net分页控件
一.说明 AspNetPager.dll这个分页控件主要用于asp.net webform网站,现将整理代码如下 二.代码 1.首先在测试页面Default.aspx页面添加引用 <%@ Reg ...
随机推荐
- sqserver2008触发器
@参考博文 先上代码 先建个表用于测试 CREATE TRIGGER INSERT_forbidden on s after INSERT AS BEGIN RAISERROR(,) ROLLBACK ...
- layui学习<一>
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- Kendo UI中TreeView 放入tabstrip中,大数据量时超过边框的解决方案。
参考http://www.kendoui.com/forums/ui/tabstrip/tabstip-with-treeview-treeview-breaking-out-of-tabstrip. ...
- 2018.07.03 POJ 1279Art Gallery(半平面交)
Art Gallery Time Limit: 1000MS Memory Limit: 10000K Description The art galleries of the new and ver ...
- SIM900 AT来电显示开启,一些代码
/*Note: this code is a demo for how to using gprs shield to send sms message, dial a voice call and ...
- 在linux系统中安装VSCode(Visual Studio Code)和图标的创建方式
本文转载自:https://www.cnblogs.com/lzpong/p/6145511.html,自己添加了一些关于依赖包安装的. 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不 ...
- 简单的cxf-ws 基于web容器
pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w ...
- MySQL-5.7.10主主同步的安装和配置
目录 目录 1 1. 安装 1 2. 修改MySQL的root密码 4 3. mysqld_safe和mysql.server 4 4. 主主同步配置 4 4.1. 创建同步用户 4 4.2. my. ...
- 【科普】Web(瓦片)地图的工作原理
[译者按:在看MapBox Guides文档时,看到这篇 How do web maps work?,这篇文档通俗易懂地阐述了Web地图是如何工作的,其实更偏向讲瓦片地图的工作原理,鉴于之前很多人不了 ...
- Mouse Touch Stylus
Mouse操作: preview mouse down, StylusDevice:null mouse down,StylusDevice:null preview mouse up, Stylus ...