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程序设计有所帮助。