/// <summary> /// 显示分页 /// </summary> /// <param name="paginationData">PaginationData</param> /// <returns></returns> public static string Page(PaginationData paginationData) { if (paginationData.ShowPageCount % 2 == 0) { paginationData.ShowPageCount += 1; } int beginIndex = 0; int endIndex = 0; int halfCount = (int)Math.Floor(paginationData.ShowPageCount * 0.5f); beginIndex = Math.Max(1, paginationData.PageIndex - halfCount); endIndex = Math.Min(paginationData.PageCount, paginationData.PageIndex + halfCount); if (endIndex < paginationData.PageCount) { endIndex = Math.Min(beginIndex - 1 + paginationData.ShowPageCount, paginationData.PageCount); } if (beginIndex > paginationData.PageCount - paginationData.ShowPageCount) { beginIndex = Math.Max(1, paginationData.PageCount - paginationData.ShowPageCount + 1); } StringBuilder stringBuilder = new StringBuilder(); if (paginationData.IsShowRecords) { stringBuilder.Append(string.Format(SPAN_FORMAT, paginationData.TotalCount, paginationData.PageCount, paginationData.RecordsClassName, paginationData.RecordsTotalCountClassName, paginationData.RecordsPageCountClassName)); } #region 分页显示字符串拼装 // 大于 1 页才显示分页信息 if (paginationData.PageCount > 1) { if (paginationData.IsFull && paginationData.PageIndex > 1) { stringBuilder.Append(string.Format(LI_FORMAT, paginationData.ItemClassName, paginationData.PageUrl.Replace(paginationData.PageFormat, "1"), paginationData.PageFirstText, paginationData.ItemStyle)); } if (paginationData.IsFull && paginationData.PageIndex - 1 >= 1) { stringBuilder.Append(string.Format(LI_FORMAT, paginationData.ItemClassName, paginationData.PageUrl.Replace(paginationData.PageFormat, (paginationData.PageIndex - 1).ToString()), paginationData.PagePrevText, paginationData.ItemStyle)); } for (int currentIndex = beginIndex; currentIndex <= endIndex; currentIndex++) { string itemClassName = paginationData.ItemClassName + " "; if (currentIndex == paginationData.PageIndex) { itemClassName = itemClassName + paginationData.ActiveItemClassName; } stringBuilder.Append(string.Format(LI_FORMAT, itemClassName, paginationData.PageUrl.Replace(paginationData.PageFormat, currentIndex.ToString()), string.Format(paginationData.PageText, currentIndex), paginationData.ItemStyle)); } if (paginationData.IsFull && paginationData.PageIndex + 1 <= paginationData.PageCount) { stringBuilder.Append(string.Format(LI_FORMAT, paginationData.ItemClassName, paginationData.PageUrl.Replace(paginationData.PageFormat, (paginationData.PageIndex + 1).ToString()), paginationData.PageNextText, paginationData.ItemStyle)); } if (paginationData.IsFull && paginationData.PageIndex < paginationData.PageCount) { stringBuilder.Append(string.Format(LI_FORMAT, paginationData.ItemClassName, paginationData.PageUrl.Replace(paginationData.PageFormat, paginationData.PageCount.ToString()), paginationData.PageLastText, paginationData.ItemStyle)); } } #endregion return(string.Format(UL_FORMAT, paginationData.ClassName, stringBuilder.ToString(), paginationData.Style)); }
/// <summary> /// 显示分页 /// </summary> /// <param name="paginationData">PaginationData</param> /// <returns></returns> public static string Page(PaginationData paginationData) { if (paginationData.ShowPageCount % 2 == 0) { paginationData.ShowPageCount += 1; } int beginIndex = 0; int endIndex = 0; int halfCount = (int)Math.Floor(paginationData.ShowPageCount * 0.5f); beginIndex = Math.Max(1, paginationData.PageIndex - halfCount); endIndex = Math.Min(paginationData.PageCount, paginationData.PageIndex + halfCount); if (endIndex < paginationData.PageCount) { endIndex = Math.Min(beginIndex - 1 + paginationData.ShowPageCount, paginationData.PageCount); } if (beginIndex > paginationData.PageCount - paginationData.ShowPageCount) { beginIndex = Math.Max(1, paginationData.PageCount - paginationData.ShowPageCount + 1); } StringBuilder stringBuilder = new StringBuilder(); if (paginationData.IsShowRecords) { stringBuilder.Append(string.Format(SPAN_FORMAT, paginationData.TotalCount, paginationData.PageCount, paginationData.RecordsClassName, paginationData.RecordsTotalCountClassName, paginationData.RecordsPageCountClassName)); } #region 分页显示字符串拼装 // 大于 1 页才显示分页信息 if (paginationData.PageCount > 1) { if (paginationData.IsFull && paginationData.PageIndex > 1) { stringBuilder.Append(string.Format(LI_FORMAT, paginationData.ItemClassName, paginationData.PageUrl.Replace(paginationData.PageFormat, "1"), paginationData.PageFirstText, paginationData.ItemStyle)); } if (paginationData.IsFull && paginationData.PageIndex - 1 >= 1) { stringBuilder.Append(string.Format(LI_FORMAT, paginationData.ItemClassName, paginationData.PageUrl.Replace(paginationData.PageFormat, (paginationData.PageIndex - 1).ToString()), paginationData.PagePrevText, paginationData.ItemStyle)); } for (int currentIndex = beginIndex; currentIndex <= endIndex; currentIndex++) { string itemClassName = paginationData.ItemClassName + " "; if (currentIndex == paginationData.PageIndex) { itemClassName = itemClassName + paginationData.ActiveItemClassName; } stringBuilder.Append(string.Format(LI_FORMAT, itemClassName, paginationData.PageUrl.Replace(paginationData.PageFormat, currentIndex.ToString()), string.Format(paginationData.PageText, currentIndex), paginationData.ItemStyle)); } if (paginationData.IsFull && paginationData.PageIndex + 1 <= paginationData.PageCount) { stringBuilder.Append(string.Format(LI_FORMAT, paginationData.ItemClassName, paginationData.PageUrl.Replace(paginationData.PageFormat, (paginationData.PageIndex + 1).ToString()), paginationData.PageNextText, paginationData.ItemStyle)); } if (paginationData.IsFull && paginationData.PageIndex < paginationData.PageCount) { stringBuilder.Append(string.Format(LI_FORMAT, paginationData.ItemClassName, paginationData.PageUrl.Replace(paginationData.PageFormat, paginationData.PageCount.ToString()), paginationData.PageLastText, paginationData.ItemStyle)); } if (paginationData.ShowGoto) { stringBuilder.Append(string.Format("<li class=\"pull-right\"><div class=\"input-group\" style=\"margin-left:10px;\"><input type=\"text\" id=\"txt_{0}\" value=\"{3}\" class=\"form-control\" style=\"width:50px;height:32px;\" /><span class=\"input-group-btn\"><input class=\"btn btn-primary\" onclick=\"location.href='{1}'.replace('$-$', document.getElementById('txt_{0}').value);\" style=\"height:32px;\" type=\"button\" value=\"{2}\" /></span></li>", System.Guid.NewGuid().ToString("N"), paginationData.PageUrl.Replace(paginationData.PageFormat, "$-$"), paginationData.GotoText, paginationData.PageIndex)); } } #endregion return(string.Format(UL_FORMAT, paginationData.ClassName, stringBuilder.ToString(), paginationData.Style)); }