.NET 一个类似google的 分页。
Code
如上,pageSize是每页要显式的条数,curPage 表示当前是第几页 , rsCount是一共有多少条记录, pagePara是页面尾部的参数,
假如页面是 www.gosoa.com.cn/index.aspx?searchType=a&keyword='gosoa' 则 pagePara=searchType=a&keyword='gosoa'
OK,如果有什么问题,可以留言。
创业?
专注于技术
Code
public static string pageStrOut(double pageSize, int curPage, double rsCount, string pagePara)
{
double pageCountDouble=rsCount/pageSize;
int pageCount = Convert.ToInt32(Math.Ceiling(pageCountDouble));
if (pageCount < 1) { pageCount = 1; }
if (curPage < 1) { curPage = 1; }
if(curPage>pageCount){curPage=pageCount;}
int pageListNum=10;
int step=5;
int prePage=curPage-1;
int nextPage=curPage+1;
int pageFromNum=curPage-step;
int pageEndNum=curPage+step;
if(pageCount<step)
{
pageFromNum=1;
pageEndNum=pageCount;
}else if(pageCount<pageListNum)
{
pageFromNum=1;
pageEndNum=pageCount;
}else if(pageEndNum>pageCount)
{
pageEndNum=pageCount;
if( (pageEndNum-pageFromNum) < pageListNum )
{ pageFromNum=pageEndNum-pageListNum+1; }
}else
{
if(pageFromNum<1)
{
pageFromNum=1;
pageEndNum=curPage+step-1;
}
}
StringBuilder pageStr=new StringBuilder();
// pageStr.Append("<style> .PageClass{font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; padding-top:0px;text-align:left;margin-top:2px;}");
pageStr.Append("<style>");
pageStr.Append(" .PageClass ul{ float:left; margin:5px;} ");
pageStr.Append(" .PageClass ul li{ margin-right:3px; float:left;} ");
pageStr.Append(" .PageClass ul li a{border:1px solid #d8dfef; color:#01669A; text-decoration:none;padding:1px 4px;width:20px; height:15px;} ");
pageStr.Append(" .PageClass{font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; padding-top:0px;text-align:left;margin-top:2px;} ");
pageStr.Append(" .PageClass ul li a:hover{ color:#fe6601;text-decoration:none; border:1px solid #d8dfef;padding:1px 4px; height:18px;} ");
pageStr.Append(" </style> ");
pageStr.Append(" <div class=\"PageClass\"> ");
pageStr.Append(" <ul> ");
pageStr.Append(" <li><strong>"+curPage+"/"+pageCount+" </strong></li> ");
pageStr.Append(" </ul> ");
if(curPage!=1){
pageStr.Append(" <ul> ");
pageStr.Append(" <li> ");
pageStr.Append(" <a href=?curPage=1"+pagePara+">首页</a> <a href=?curPage=1&"+pagePara+">上一页</a> ");
pageStr.Append(" </li> ");
pageStr.Append(" </ul>");
}
pageStr.Append(" <ul>");
for(int i=pageFromNum;i<=pageEndNum;i++)
{
pageStr.Append(" <li>" );
if(curPage==i)
{ pageStr.Append(i.ToString()); }
else
{
pageStr.Append(" <a href=?curPage="+i.ToString()+""+pagePara+">"+i.ToString()+"</a> ");
}
pageStr.Append(" </li> ");
}
pageStr.Append(" </ul> ");
if(curPage!=pageCount)
{
pageStr.Append("<ul><li>");
pageStr.Append("<a href=?curPage="+nextPage+"&"+pagePara+">下一页</a> <a href=?curPage="+pageCount+"&"+pagePara+">末页</a> ");
pageStr.Append(" </li></ul> ");
}
pageStr.Append(" </div> ");
return pageStr.ToString();
}
如上,pageSize是每页要显式的条数,curPage 表示当前是第几页 , rsCount是一共有多少条记录, pagePara是页面尾部的参数,
假如页面是 www.gosoa.com.cn/index.aspx?searchType=a&keyword='gosoa' 则 pagePara=searchType=a&keyword='gosoa'
OK,如果有什么问题,可以留言。
|
|||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
26 | 27 | 28 | 29 | 30 | 31 | 1 | |||
2 | 3 | 4 | 5 | 6 | 7 | 8 | |||
9 | 10 | 11 | 12 | 13 | 14 | 15 | |||
16 | 17 | 18 | 19 | 20 | 21 | 22 | |||
23 | 24 | 25 | 26 | 27 | 28 | 29 | |||
30 | 1 | 2 | 3 | 4 | 5 | 6 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)