public override string ToHtmlString() { TagBuilder container = new TagBuilder("div"); container.GenerateId(sizerId); container.AddValidCssClass(sizerCss ?? DefaultSizerCss); StringBuilder buffer = new StringBuilder(); if (renderMode == SizerRenderModeEnum.None) { for (int len = pageSizeOptions.Length, ii = 0; ii < len; ii++) { int size = pageSizeOptions[ii]; TagBuilder a = new TagBuilder("a"); a.MergeAttribute("href", urlTemplate(size)); a.InnerHtml = size.ToString(); if (size == currentPageSize) { a.AddValidCssClass(activeLinkCss); } buffer.AppendFormat("{0}{1}{2}", a.ToString(), separator, Environment.NewLine); } } else { for (int len = pageSizeOptions.Length, ii = 0; ii < len; ii++) { int size = pageSizeOptions[ii]; TagBuilder a = new TagBuilder("a"); a.MergeAttribute("href", urlTemplate(size)); a.InnerHtml = size.ToString(); if ((size == currentPageSize) && !string.IsNullOrWhiteSpace(activeLinkCss)) { buffer.AppendFormat("<li class=\"{1}\">{0}</li>{2}", a.ToString(), activeLinkCss, Environment.NewLine); } else { buffer.AppendFormat("<li>{0}</li>{1}", a.ToString(), Environment.NewLine); } } } string flattenedLinks = base.TrimTail(buffer.ToString() , IsWrapLinkInListItem ? null : (separator + Environment.NewLine)); container.InnerHtml = string.Format(IsWrapLinkInListItem ? "{1}<ul>{1}{0}</ul>{1}" : "{1}{0}{1}" , flattenedLinks , Environment.NewLine); return container.ToString(); }
public override string ToHtmlString() { TagBuilder container = new TagBuilder("div"); container.GenerateId(pagerId); container.AddValidCssClass(pagerCss ?? DefaultPagerCss); StringBuilder buffer = new StringBuilder(); Action<string, string, string> linkAdder; if (IsWrapLinkInListItem) { linkAdder = (label, css, href) => { TagBuilder a = new TagBuilder("a"); a.MergeAttribute("href", href); a.InnerHtml = label; if (!string.IsNullOrWhiteSpace(css)) { buffer.AppendFormat("<li class=\"{1}\">{0}</li>{2}", a.ToString(), css, Environment.NewLine); } else { buffer.AppendFormat("<li>{0}</li>{1}", a.ToString(), Environment.NewLine); } }; } else { linkAdder = (label, css, href) => { TagBuilder a = new TagBuilder("a"); a.MergeAttribute("href", href); a.InnerHtml = label; a.AddValidCssClass(css); buffer.AppendFormat("{0}{1}{2}", a.ToString(), separator, Environment.NewLine); }; } this.appendLink = (pageIndex, label, isDisabledLink) => { if (isDisabledLink) { if (IsShowDisabledLinks) { linkAdder(label, disabledLinkCss, urlTemplate(pageIndex)); } } else { if (pageIndex == pagedData.Page.PageIndex) { linkAdder(label, activeLinkCss, urlTemplate(pageIndex)); } else { linkAdder(label, null, urlTemplate(pageIndex)); } } }; using (new FirstLastLinkBuilder(this)) { using (new PreviousNextLinkBuilder(this)) { new NumericLinkBuilder(this); } } string flattenedLinks = base.TrimTail(buffer.ToString() , IsWrapLinkInListItem ? null : (separator + Environment.NewLine)); container.InnerHtml = string.Format(IsWrapLinkInListItem ? "{1}<ul>{1}{0}</ul>{1}" : "{1}{0}{1}" , flattenedLinks , Environment.NewLine); return container.ToString(); }