此文章由【网友杰立】整理提供,上次分享的一款非常给力的前端小工具,实现css3样式代码生成器,网友们好好利用哦,虽然他从事政府资助方面的工作,但他对技术也很感兴趣,一整理好有用的资源就会第一时间分享给大家。。。
/// <summary>
/// Html内容分页处理函数
/// </summary>
/// <param name="strBody">要分页的内容</param>
/// <param name="strSplitString">分隔字符串</param>
/// <param name="pageIndexName">页面索引参数名</param>
/// <param name="patter">链接匹配模式</param>
/// <param name="isAppendHeadEnd">是否追加第一页和最后一页</param>
/// <returns></returns>
public static string CreateContentPager(ref string strBody,string strSplitString,string pageIndexName,string patter,bool isAppendHeadEnd)
{
string[] strBodyArray = strBody.Split(new string[] { strSplitString }, StringSplitOptions.None);
//分页内容
StringBuilder strHtmlPager = new StringBuilder();
int currentPageIndex = 1; //当前页页码
int pageCount = strBodyArray.Length;//总页数
if (!string.IsNullOrEmpty(HttpContext.Current.Request[pageIndexName]))
{
currentPageIndex = CommonFunction.getInteger(HttpContext.Current.Request[pageIndexName]);
}
//无需分页
if (pageCount == 1)
{
return null;
}
//开始分页处理
if (isAppendHeadEnd)
{
if (currentPageIndex == 1)
{
strHtmlPager.AppendLine();
strHtmlPager.Append("<b>[第一页]</b>");
}
else
{
strHtmlPager.AppendLine();
strHtmlPager.Append(patter.Replace("{0}", 1.ToString()).Replace("{1}", "第一页"));
}
}
//页头
if (currentPageIndex > 1)
{
//显示上一页
strHtmlPager.AppendLine();
strHtmlPager.Append(patter.Replace("{0}", (currentPageIndex - 1).ToString()).Replace("{1}", "上一页"));
}
else
{
if (currentPageIndex == 1)
{
strHtmlPager.AppendLine();
strHtmlPager.Append("<b>[上一页]</b>");
}
}
//开始分页
for (int i = 1; i <= pageCount; i++)
{
//如果 当前页索引=页码的话,执行操作标示当前页码
if (i == currentPageIndex)
{
strHtmlPager.AppendLine();
strHtmlPager.AppendFormat("<b>[{0}]</b>", i);
}
else
{
strHtmlPager.AppendLine();
strHtmlPager.AppendFormat(patter.Replace("{0}", i.ToString()).Replace("{1}", i.ToString()));
}
}
//页尾
if (currentPageIndex + 1 > pageCount)
{
strHtmlPager.AppendLine();
strHtmlPager.Append("<b>[下一页]</b>");
}
else
{
strHtmlPager.AppendLine();
strHtmlPager.Append(patter.Replace("{0}", (currentPageIndex + 1).ToString()).Replace("{1}", "下一页"));
}
if (isAppendHeadEnd)
{
if (currentPageIndex == pageCount)
{
strHtmlPager.AppendLine();
strHtmlPager.Append("<b>[已经是最后一页]</b>");
}
else
{
strHtmlPager.AppendLine();
strHtmlPager.Append(patter.Replace("{0}", pageCount.ToString()).Replace("{1}", "最后一页"));
}
}
strBody = strBodyArray[currentPageIndex - 1];
return strHtmlPager.ToString();
}
如果您觉得本文的内容对您的学习有所帮助:
关键字:
asp.net 分页功能