.NET 一个类似google的 分页。

  1.   public static string pageStrOut(double pageSize, int curPage, double rsCount, string pagePara)
  2.         {            
  3.             double pageCountDouble=rsCount/pageSize;
  4.             int pageCount = Convert.ToInt32(Math.Ceiling(pageCountDouble));
  5.             if (pageCount < 1) { pageCount = 1; }
  6.             if (curPage < 1) { curPage = 1; }
  7.             if(curPage>pageCount){curPage=pageCount;}
  8.             int pageListNum=10;
  9.             int step=5;
  10.             int prePage=curPage-1;
  11.             int nextPage=curPage+1;
  12.             int pageFromNum=curPage-step;
  13.             int pageEndNum=curPage+step;
  14.             
  15.             if(pageCount<step)
  16.             {
  17.                 pageFromNum=1;
  18.                 pageEndNum=pageCount;
  19.             }else if(pageCount<pageListNum)
  20.             {
  21.                 pageFromNum=1;
  22.                 pageEndNum=pageCount;
  23.             }else if(pageEndNum>pageCount)
  24.             {
  25.                 pageEndNum=pageCount;
  26.                 if( (pageEndNum-pageFromNum) < pageListNum )
  27.                 { pageFromNum=pageEndNum-pageListNum+1; }
  28.             }else
  29.             {
  30.                 if(pageFromNum<1)
  31.                 {
  32.                     pageFromNum=1;
  33.                     pageEndNum=curPage+step-1;
  34.                 }
  35.             }
  36.            StringBuilder pageStr=new StringBuilder();
  37.           //  pageStr.Append("<style> .PageClass{font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; padding-top:0px;text-align:left;margin-top:2px;}");
  38.             pageStr.Append("<style>");
  39.             pageStr.Append(" .PageClass ul{ float:left; margin:5px;} ");
  40.             pageStr.Append(" .PageClass ul li{ margin-right:3px; float:left;} ");
  41.             pageStr.Append(" .PageClass ul li a{border:1px solid #d8dfef; color:#01669A; text-decoration:none;padding:1px 4px;width:20px; height:15px;} ");
  42.             pageStr.Append(" .PageClass{font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; padding-top:0px;text-align:left;margin-top:2px;} ");
  43.             pageStr.Append(" .PageClass ul li a:hover{ color:#fe6601;text-decoration:none; border:1px solid #d8dfef;padding:1px 4px; height:18px;} ");
  44.             pageStr.Append(" </style> ");
  45.             pageStr.Append(" <div class=/"PageClass/"> ");
  46.             pageStr.Append(" <ul> ");
  47.             pageStr.Append(" <li><strong>"+curPage+"/"+pageCount+"  </strong></li> ");
  48.             pageStr.Append(" </ul> ");
  49.             if(curPage!=1){
  50.                 pageStr.Append(" <ul> ");
  51.                 pageStr.Append("  <li>  ");
  52.                 pageStr.Append(" <a href=?curPage=1"+pagePara+">首页</a> <a href=?curPage=1&"+pagePara+">上一页</a> ");
  53.                 pageStr.Append(" </li> ");
  54.                 pageStr.Append(" </ul>"); 
  55.             } 
  56.              pageStr.Append(" <ul>");
  57.             for(int i=pageFromNum;i<=pageEndNum;i++)
  58.             {                    
  59.                 pageStr.Append(" <li>" );
  60.                 if(curPage==i)
  61.                 { pageStr.Append(i.ToString());  }
  62.                 else
  63.                 {
  64.                     pageStr.Append(" <a href=?curPage="+i.ToString()+""+pagePara+">"+i.ToString()+"</a> ");
  65.                 }
  66.                  pageStr.Append(" </li> ");
  67.             }
  68.             pageStr.Append(" </ul> ");
  69.             if(curPage!=pageCount)
  70.             {              
  71.                 pageStr.Append("<ul><li>");
  72.                 pageStr.Append("<a href=?curPage="+nextPage+"&"+pagePara+">下一页</a> <a href=?curPage="+pageCount+"&"+pagePara+">末页</a>  ");
  73.                 pageStr.Append(" </li></ul> ");
  74.               
  75.             }
  76.             pageStr.Append(" </div> ");
  77.             
  78.             return pageStr.ToString();
  79.         } 

如上,pageSize是每页要显式的条数,curPage 表示当前是第几页 , rsCount是一共有多少条记录,  pagePara是页面尾部的参数,

假如页面是 www.gosoa.com.cn/index.aspx?searchType=a&keyword='gosoa'  则 pagePara=searchType=a&keyword='gosoa' 

OK,如果有什么问题,可以留言。

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值