asp.net实现简单分页实例
本文实例讲述了asp.net实现简单分页的方法。分享给大家供大家参考。
具体实现方法如下:
///<summary> ///分页内容 ///</summary> ///<paramname="size">页面大小</param> ///<paramname="count">页面数量</param> ///<paramname="currendIndex">当前页</param> ///<paramname="pattern">url模式:demo.aspx?page={0}</param> ///<paramname="target">窗口模式</param> ///<returns></returns> publicstaticstringget_pagenation(intsize, intcount, intcurrendIndex, stringpattern, stringtarget) { //1>打开窗口目标 target=string.IsNullOrEmpty(target)?"_top":target; //2>总页数 intpageCount=count/size; pageCount=pageCount*size==count?pageCount:pageCount+1; //3>分页内容 StringBuilderstrHtml=newStringBuilder(); strHtml.Append("<spanclass='pagenation'>"); #region首部处理 if(currendIndex>1) { strHtml.AppendFormat("<ahref='1'target='{0}'>[首页]</a>",target); strHtml.AppendFormat("<ahref='{0}'target='{1}'>[上一页]</a>",string.Format(pattern,currendIndex-1),target); } else { strHtml.Append("<spanclass='disabled'>[首页]</span> <spanclass='disabled'>[上一页]</span>"); } #endregion #region中间部分 inti=1; intright=(currendIndex+4)>pageCount?pageCount:currendIndex+4; if(currendIndex>6) { i=currendIndex-5; } else { right=pageCount>=10?10:pageCount; } for(;i<=right;i++) { if(i==currendIndex) { strHtml.AppendFormat("<fontclass='current'>{0}</font>",i); strHtml.AppendLine(); continue; } strHtml.AppendFormat("<ahref='{0}'target='{1}'>[{2}]</a>",string.Format(pattern,i),target,i); strHtml.AppendLine(); } #endregion #region尾部处理 if(currendIndex==pageCount) { strHtml.Append("<spanclass='disabled'>[下一页]</span><spanclass='disabled'>[末页]</span>"); strHtml.AppendFormat("总共({0})页",pageCount); } else { strHtml.AppendFormat("<ahref='{0}'target='{1}'>[下一页]</a>",string.Format(pattern,currendIndex+1),target); strHtml.AppendFormat("<ahref='{0}'target='{1}'>[末页]</a>",string.Format(pattern,pageCount),target); strHtml.AppendFormat(" <label>总共({0})页</label>",pageCount); } #endregion strHtml.Append("</span>"); returnstrHtml.ToString(); }
希望本文所述对大家的asp.net程序设计有所帮助。