#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