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

推荐订阅源

V
V2EX
C
Check Point Blog
博客园_首页
B
Blog
D
Docker
U
Unit 42
量子位
I
InfoQ
有赞技术团队
有赞技术团队
Martin Fowler
Martin Fowler
GbyAI
GbyAI
L
LangChain Blog
云风的 BLOG
云风的 BLOG
博客园 - Franky
美团技术团队
T
The Blog of Author Tim Ferriss
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
Vercel News
Vercel News
Recent Announcements
Recent Announcements
雷峰网
雷峰网
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
Google DeepMind News
Google DeepMind News

博客园 - 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;

           
        }