Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }