#region Html内容分页处理函数
/// <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();
}
#endregion
时间: 2024-12-22 07:55:19