private static MvcHtmlString PagerBuilder(HtmlHelper source, int index, IPagedList list, string actionName, string controllerName, object routevalues, object htmlAttributes, string pagerCss = "", int totalGroups = 15, string prevText = "<<", string nextText = ">>") { TagBuilder tagBuilder; MvcHtmlString mvcHtmlString; int num = totalGroups; int num1 = index; int pageSize = list.PageSize; int totalCount = list.TotalCount; int num2 = (int)Math.Ceiling(Convert.ToDecimal(totalCount) / Convert.ToDecimal(pageSize)); int num3 = (int)Math.Ceiling(Convert.ToDecimal(num2) / Convert.ToDecimal(num)); if (num2 <= 1) { return(MvcHtmlString.Empty); } int num4 = (int)Math.Floor(Convert.ToDecimal(num1) / Convert.ToDecimal(num)); int num5 = num4 * num; int num6 = num5 + num; if (num6 > num2) { num6 = num2; } TagBuilder str = new TagBuilder("div"); str.GenerateId("calabongapager"); if (pagerCss.Equals("paginationMetro")) { str.AddCssClass("pagination"); } StringBuilder stringBuilder = new StringBuilder(); TagBuilder tagBuilder1 = new TagBuilder("ul"); if (!HtmlHelperExtensions.UseJQueryCss(pagerCss) && !pagerCss.Equals("paginationMetro")) { tagBuilder1.AddCssClass(pagerCss); } if (num4 > 0) { tagBuilder = new TagBuilder("li"); if (!HtmlHelperExtensions.UseJQueryCss(pagerCss)) { mvcHtmlString = source.ActionLink(prevText, string.Concat(actionName, "/", num5.ToString(CultureInfo.CurrentCulture)), controllerName, routevalues, new { @class = "first" }); } else { tagBuilder.AddCssClass("ui-state-default ui-corner-all ui-button ui-widget ui-button-text-only"); mvcHtmlString = source.ActionLink(prevText, string.Concat(actionName, "/", num5.ToString(CultureInfo.CurrentCulture)), controllerName, routevalues, new { @class = "ui-button-text" }); } tagBuilder.InnerHtml = mvcHtmlString.ToString(); stringBuilder.Append(tagBuilder.ToString(TagRenderMode.Normal)); } for (int i = num5; i < num6; i++) { if (i != num1) { tagBuilder = new TagBuilder("li"); if (!HtmlHelperExtensions.UseJQueryCss(pagerCss)) { int num7 = i + 1; int num8 = i + 1; mvcHtmlString = source.ActionLink(num7.ToString(CultureInfo.CurrentCulture), string.Concat(actionName, "/", num8.ToString(CultureInfo.CurrentCulture)), controllerName, routevalues, htmlAttributes); } else { tagBuilder.AddCssClass("ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"); int num9 = i + 1; int num10 = i + 1; mvcHtmlString = source.ActionLink(num9.ToString(CultureInfo.CurrentCulture), string.Concat(actionName, "/", num10.ToString(CultureInfo.CurrentCulture)), controllerName, routevalues, new { @class = "ui-button-text" }); } tagBuilder.InnerHtml = mvcHtmlString.ToString(); } else { tagBuilder = new TagBuilder("li"); if (HtmlHelperExtensions.UseJQueryCss(pagerCss)) { tagBuilder.AddCssClass("ui-state-default ui-corner-all ui-button ui-widget ui-button-text-only"); TagBuilder tagBuilder2 = new TagBuilder("span"); if (!HtmlHelperExtensions.UseJQueryCss(pagerCss)) { tagBuilder2.AddCssClass("active"); } tagBuilder2.SetInnerText((i + 1).ToString()); tagBuilder = new TagBuilder("li"); if (HtmlHelperExtensions.UseJQueryCss(pagerCss)) { tagBuilder2.AddCssClass("ui-button-text"); tagBuilder.AddCssClass("ui-state-default ui-state-disabled ui-corner-all ui-button ui-widget ui-button-text-only"); } tagBuilder.InnerHtml = tagBuilder2.ToString(TagRenderMode.Normal); } else if (!pagerCss.Equals("paginationMetro")) { TagBuilder tagBuilder3 = new TagBuilder("span"); tagBuilder.AddCssClass("active"); string str1 = (i + 1).ToString(CultureInfo.InvariantCulture); if (pagerCss.Equals("pagination", StringComparison.InvariantCulture)) { TagBuilder tagBuilder4 = new TagBuilder("span"); tagBuilder4.AddCssClass("sr-only"); str1 = string.Concat(str1, tagBuilder4.InnerHtml); } tagBuilder3.SetInnerText(str1); tagBuilder.InnerHtml = tagBuilder3.ToString(); } else { TagBuilder tagBuilder5 = new TagBuilder("a"); tagBuilder.AddCssClass("active disabled"); int num11 = i + 1; tagBuilder5.SetInnerText(num11.ToString(CultureInfo.InvariantCulture)); tagBuilder.InnerHtml = tagBuilder5.ToString(); } } stringBuilder.Append(tagBuilder.ToString(TagRenderMode.Normal)); } if (num3 > 0 && num4 < num3 - 1) { tagBuilder = new TagBuilder("li"); if (!HtmlHelperExtensions.UseJQueryCss(pagerCss)) { int num12 = num6 + 1; mvcHtmlString = source.ActionLink(nextText, string.Concat(actionName, "/", num12.ToString(CultureInfo.CurrentCulture)), controllerName, routevalues, htmlAttributes); } else { tagBuilder.AddCssClass("ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"); int num13 = num6 + 1; mvcHtmlString = source.ActionLink(nextText, string.Concat(actionName, "/", num13.ToString(CultureInfo.CurrentCulture)), controllerName, routevalues, new { @class = "ui-button-text" }); } tagBuilder.InnerHtml = mvcHtmlString.ToString(); stringBuilder.Append(tagBuilder.ToString(TagRenderMode.Normal)); } tagBuilder1.InnerHtml = stringBuilder.ToString(); str.InnerHtml = tagBuilder1.ToString(); return(MvcHtmlString.Create(str.ToString())); }
private static MvcHtmlString _pagerBuilderPrevNext(HtmlHelper source, int currentIndex, IPagedList list, string actionName, object routevalues, string prevText, string nextText, string firstText, string lastText, bool isShowInfo, bool isShowFirstLast, string pagerCss, string pageInfoFormat = "{0} - {1} ({2})") { MvcHtmlString mvcHtmlString; int num = 0; if (list == null || source == null) { return(null); } if (currentIndex < 0) { return(null); } num = currentIndex; TagBuilder tagBuilder = new TagBuilder("div"); tagBuilder.GenerateId("pager"); TagBuilder str = new TagBuilder("ul"); if (!HtmlHelperExtensions.UseJQueryCss(pagerCss)) { str.AddCssClass(pagerCss); } num++; StringBuilder stringBuilder = new StringBuilder(); TagBuilder htmlString = null; TagBuilder tagBuilder1 = null; if (isShowFirstLast) { htmlString = new TagBuilder("li"); if (!list.IsPreviousPage) { tagBuilder1 = new TagBuilder("span"); tagBuilder1.SetInnerText(firstText); if (HtmlHelperExtensions.UseJQueryCss(pagerCss)) { tagBuilder1.AddCssClass("ui-button-text"); htmlString.AddCssClass("ui-state-default ui-state-disabled ui-corner-all ui-button ui-widget ui-button-text-only"); } htmlString.InnerHtml = tagBuilder1.ToString(); } else { MvcHtmlString mvcHtmlString1 = null; if (!HtmlHelperExtensions.UseJQueryCss(pagerCss)) { mvcHtmlString1 = source.ActionLink(firstText, string.Concat(actionName, "/", "1"), routevalues); } else { htmlString.AddCssClass("ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"); mvcHtmlString1 = source.ActionLink(firstText, string.Concat(actionName, "/", "1"), routevalues, new { @class = "ui-button-text" }); } htmlString.InnerHtml = mvcHtmlString1.ToHtmlString(); } stringBuilder.Append(htmlString.ToString()); } htmlString = new TagBuilder("li"); if (!list.IsPreviousPage) { tagBuilder1 = new TagBuilder("span"); tagBuilder1.SetInnerText(prevText); if (HtmlHelperExtensions.UseJQueryCss(pagerCss)) { tagBuilder1.AddCssClass("ui-button-text"); htmlString.AddCssClass("ui-state-default ui-state-disabled ui-corner-all ui-button ui-widget ui-button-text-only"); } htmlString.InnerHtml = tagBuilder1.ToString(); } else { if (!HtmlHelperExtensions.UseJQueryCss(pagerCss)) { int num1 = num - 1; mvcHtmlString = source.ActionLink(prevText, string.Concat(actionName, "/", num1.ToString(CultureInfo.InvariantCulture)), routevalues, null); } else { htmlString.AddCssClass("ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"); int num2 = num - 1; mvcHtmlString = source.ActionLink(prevText, string.Concat(actionName, "/", num2.ToString(CultureInfo.InvariantCulture)), routevalues, new { @class = "ui-button-text" }); } htmlString.InnerHtml = mvcHtmlString.ToHtmlString(); } stringBuilder.Append(htmlString.ToString()); if (isShowInfo) { htmlString = new TagBuilder("li"); TagBuilder tagBuilder2 = new TagBuilder("span"); CultureInfo invariantCulture = CultureInfo.InvariantCulture; object[] objArray = new object[] { num.ToString(CultureInfo.InvariantCulture), list.TotalPages, list.TotalCount }; tagBuilder2.InnerHtml = string.Format(invariantCulture, pageInfoFormat, objArray); htmlString.InnerHtml = tagBuilder2.ToString(); stringBuilder.Append(htmlString.ToString()); } htmlString = new TagBuilder("li"); MvcHtmlString mvcHtmlString2 = null; if (!list.IsNextPage) { tagBuilder1 = new TagBuilder("span"); tagBuilder1.SetInnerText(nextText); if (HtmlHelperExtensions.UseJQueryCss(pagerCss)) { tagBuilder1.AddCssClass("ui-button-text"); htmlString.AddCssClass("ui-state-default ui-state-disabled ui-corner-all ui-button ui-widget ui-button-text-only"); } htmlString.InnerHtml = tagBuilder1.ToString(); } else { if (!HtmlHelperExtensions.UseJQueryCss(pagerCss)) { int num3 = num + 1; mvcHtmlString2 = source.ActionLink(nextText, string.Concat(actionName, "/", num3.ToString()), routevalues, null); } else { htmlString.AddCssClass("ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"); int num4 = num + 1; mvcHtmlString2 = source.ActionLink(nextText, string.Concat(actionName, "/", num4.ToString()), routevalues, new { @class = "ui-button-text" }); } htmlString.InnerHtml = mvcHtmlString2.ToHtmlString(); } stringBuilder.Append(htmlString.ToString()); if (isShowFirstLast) { htmlString = new TagBuilder("li"); MvcHtmlString mvcHtmlString3 = null; if (num + 1 > list.TotalPages) { tagBuilder1 = new TagBuilder("span"); tagBuilder1.SetInnerText(lastText); if (HtmlHelperExtensions.UseJQueryCss(pagerCss)) { tagBuilder1.AddCssClass("ui-button-text"); htmlString.AddCssClass("ui-state-default ui-state-disabled ui-corner-all ui-button ui-widget ui-button-text-only"); } htmlString.InnerHtml = tagBuilder1.ToString(); } else { if (!HtmlHelperExtensions.UseJQueryCss(pagerCss)) { int totalPages = list.TotalPages; mvcHtmlString3 = source.ActionLink(lastText, string.Concat(actionName, "/", totalPages.ToString()), routevalues, null); } else { htmlString.AddCssClass("ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"); int totalPages1 = list.TotalPages; mvcHtmlString3 = source.ActionLink(lastText, string.Concat(actionName, "/", totalPages1.ToString()), routevalues, new { @class = "ui-button-text" }); } htmlString.InnerHtml = mvcHtmlString3.ToHtmlString(); } stringBuilder.Append(htmlString.ToString()); } str.InnerHtml = stringBuilder.ToString(); tagBuilder.InnerHtml = str.ToString(TagRenderMode.Normal); return(MvcHtmlString.Create(tagBuilder.ToString())); }