Pagination
using System.Collections.Generic; namespace Oyang.Tool { public interface IPagination { int PageIndex { get; set; } int PageSize { get; set; } int TotalCount { get; set; } string SortField { get; set; } bool IsAsc { get; set; } } public interface IFullPagination : IPagination { int PageCount { get; } int ButtonCount { get; set; } List<int> ListPageButton { get; } List<int> CalcPageButton(); } public class Pagination : IPagination { public int PageIndex { get; set; } public int PageSize { get; set; } public int TotalCount { get; set; } public string SortField { get; set; } public bool IsAsc { get; set; } } public class FullPagination : Pagination, IFullPagination { public int PageCount { get { return TotalCount % PageSize == 0 ? TotalCount / PageSize : TotalCount / PageSize + 1; } } public int ButtonCount { get; set; } = 5; List<int> _listPageButton = null; public List<int> ListPageButton { get; } public List<int> CalcPageButton() { _listPageButton = new List<int>(); int temp1 = (ButtonCount - 1) / 2; int temp2 = ButtonCount - 1 - temp1; int startPageIndex = 1; int endPageIndex = 1; if (PageCount <= ButtonCount) { startPageIndex = 1; endPageIndex = PageCount; } else if (PageIndex <= temp1) { startPageIndex = 1; endPageIndex = startPageIndex + ButtonCount - 1; } else if (PageIndex + temp2 > PageCount) { endPageIndex = PageCount; startPageIndex = endPageIndex - ButtonCount + 1; } else { startPageIndex = PageIndex - temp1; endPageIndex = PageIndex + temp2; } for (int i = startPageIndex; i <= endPageIndex; i++) { _listPageButton.Add(i); } return _listPageButton; } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2017-11-13 本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等