Example #1
0
        public MvcHtmlString Done()
        {
            if (string.IsNullOrEmpty(this.id) == false)
            {
                div.Attributes["id"] = this.id;
            }
            if (string.IsNullOrEmpty(this.name) == false)
            {
                div.Attributes["name"] = this.name;
            }

            if (styleHandler.GetInvocationList().Count() == 1)
            {
                div.Attributes["style"] += styleHandler();
            }
            div.Attributes["class"] += cssHandler();

            div.Controls.Add(new HtmlInputHidden()
            {
                ID = KEY_CURRENT_PAGE_NO, Name = KEY_CURRENT_PAGE_NO, Value = this.currentPageNo.ToString()
            });
            div.Controls.Add(new HtmlInputHidden()
            {
                ID = KEY_TOTAL_ROW_COUNT, Name = KEY_TOTAL_ROW_COUNT, Value = this.totalRowCount.ToString()
            });
            div.Controls.Add(new HtmlInputHidden()
            {
                ID = KEY_ROWCOUNT_ON_PAGE, Name = KEY_ROWCOUNT_ON_PAGE, Value = this.rowCountOnPage.ToString()
            });


            var ul = new HtmlGenericControl("ul");

            div.Controls.Add(ul);

            int totalPageNumberCount = totalRowCount / pageNumberCount;

            for (int i = currentPageNo; i <= (this.currentPageNo + this.pageNumberCount); i++)
            {
                if (i > totalPageNumberCount)
                {
                    break;
                }

                var a = new HtmlAnchor();
                a.HRef = this.onClick != null?onClick(i) : "#";

                //HtmlInputSubmit a = new HtmlInputSubmit();

                var li = createLI();
                li.InnerText = i.ToString();
                a.Controls.Add(li);
                ul.Controls.Add(a);
            }

            if (currentPageNo < totalPageNumberCount)
            {
                var li = createLI();
                li.InnerText = ">>";
                ul.Controls.Add(li);
            }

            var sWriter = new StringWriter();
            var writer  = new HtmlTextWriter(sWriter);

            div.RenderControl(writer);

            return(MvcHtmlString.Create(sWriter.ToString()));
        }