惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
J
Java Code Geeks
L
LangChain Blog
V
V2EX
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
博客园 - Franky
Microsoft Azure Blog
Microsoft Azure Blog
Jina AI
Jina AI
Blog — PlanetScale
Blog — PlanetScale
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
博客园 - 司徒正美
B
Blog
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
Engineering at Meta
Engineering at Meta
MyScale Blog
MyScale Blog
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog

博客园 - wenbo

启用 Sql Server 代理 radio 合并DataTable c#分页打印类 ASP.NET安全性 DataFormatString sql 随机数 alter table SQL数据库用户只有“名称”而无“登陆名”解决 override,new location.href 如何用js控件div的滚动条,让它在内容更新时自动滚到底部? 获取当前地址 JS获取当前URL Javascript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等) 获取下拉列表选中项的值和文本 c# onperInit_onLoadComplete 清空日志 VS2005快捷键大全
c#分页样式
wenbo · 2008-08-28 · via 博客园 - wenbo

/// <param name="total">总记录数</param>
        
/// <param name="per">每页记录数</param>
        
/// <param name="page">当前页数</param>
        
/// <param name="query_string">Url参数</param>

        private string pagination(int total,int per,int page,string query_string)
        
{
            
int allpage=0;
            
int next=0;
            
int pre=0;
            
int startcount=0;
            
int endcount=0;
            
string pagestr=""
            
if(page<1){page=1;}
            
//计算总页数
            if (per != 0)
            
{
                allpage 
= (total / per);
                allpage 
= ((total % per) != 0 ? allpage + 1 : allpage);
                allpage 
= (allpage == 0 ? 1 : allpage);
            }

            next
=page+1;
            pre
=page-1;
            startcount
=(page+5)>allpage?allpage-9:page-4;//中间页起始序号
            
//中间页终止序号
            endcount = page<5 ? 10 : page+5;
            
if(startcount<1{startcount=1;} //为了避免输出的时候产生负数,设置如果小于1就从序号1开始
            if(allpage<endcount){endcount=allpage;}//页码+5的可能性就会产生最终输出序号大于总页码,那么就要将其控制在页码数之内
            pagestr=""+ allpage +"页&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
            
            pagestr
+=page>1 ?  "<a href=\""+ query_string + "?page=1\">首页</a>&nbsp;&nbsp;<a href=\""+ query_string +"?page="+ pre +"\">上一页</a>""首页 上一页";
             
//中间页处理,这个增加时间复杂度,减小空间复杂度
             for(int i=startcount;i<=endcount;i++)
             

                 pagestr
+=page==i?"&nbsp;&nbsp;<font color=\"#ff0000\">"+i+"</font>":"&nbsp;&nbsp;<a href=\""+ query_string +"?page="+ i +"\">"+ i +"</a>";
             }

             pagestr
+=page!=allpage ? "&nbsp;&nbsp;<a href=\""+ query_string+"?page="+ next +"\">下一页</a>&nbsp;&nbsp;<a href=\""+ query_string +"?page="+ allpage+"\">末页</a>" : " 下一页 末页";

            
return pagestr;

           
        }