"); - - if (currentPage > 1 || alwaysShowPreviousAndNext) { - if (currentPage == 2) - rvd.Remove("page"); - else - rvd["page"] = currentPage - 1; - - sb.AppendFormat(" {0}", previousText, - urlHelper.RouteUrl(rvd)); - } - - //todo: when there are many pages (> 15?) maybe do something like 1 2 3...6 7 8...13 14 15 - for (var p = 1; p <= pageOfItems.TotalPageCount; p++) { - if (p == currentPage) { - sb.AppendFormat(" {0}", p); - } - else { - if (p == 1) - rvd.Remove("page"); - else - rvd["page"] = p; - - sb.AppendFormat(" {0}", p, - urlHelper.RouteUrl(rvd)); - } - } - - if (currentPage < pageOfItems.TotalPageCount || alwaysShowPreviousAndNext) { - rvd["page"] = currentPage + 1; - sb.AppendFormat("{0}", nextText, - urlHelper.RouteUrl(rvd)); - } - - sb.Append("
"); - - return new HtmlString(sb.ToString()); - } - - #endregion - #region UnorderedList public static IHtmlString UnorderedList