- 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,如果有什么问题,可以留言。