private Control CreateButton(string ImageUrl, string Text, string Command) { if (this.PagerSettings.UseQueryString) { HyperLink ctl = new HyperLink(); if (!string.IsNullOrEmpty(ImageUrl)) { ctl.ImageUrl = ImageUrl; } else { ctl.Text = Text; } int pageIndex = 0; switch (Command) { case "Prev": if (this.PageIndex > 0) { pageIndex = this.PageIndex - 1; } break; case "Next": if (this.PageIndex < this.PageCount) { pageIndex = this.PageIndex + 1; } break; case "Last": pageIndex = this.PageCount - 1; break; case "First": pageIndex = 0; break; default: int.TryParse(Command, out pageIndex); break; } ctl.NavigateUrl = Page.Request.Url.AbsolutePath; string qs = string.Empty; foreach (string qsKey in Page.Request.QueryString.AllKeys) { if (qsKey != this.PagerSettings.QueryStringKey) { qs += "&" + qsKey + "=" + HttpUtility.UrlEncode(Page.Request[qsKey]); } } qs += "&" + this.PagerSettings.QueryStringKey + "=" + pageIndex.ToString(); ctl.NavigateUrl += "" + qs.Substring(1); if (PagerStyle != null) { ctl.MergeStyle(PagerStyle); } return(ctl); } else { LinkButton ctl = new LinkButton(); if (!string.IsNullOrEmpty(ImageUrl)) { Image img = new Image(); img.ImageUrl = ImageUrl; System.IO.StringWriter sw = new System.IO.StringWriter(); HtmlTextWriter writer = new HtmlTextWriter(sw); img.RenderControl(writer); ctl.Text = sw.ToString(); } else { ctl.Text = Text; } ctl.CommandName = "Page"; ctl.CommandArgument = Command; ctl.CausesValidation = false; ctl.ID = "pag" + Command; if (PagerStyle != null) { ctl.MergeStyle(PagerStyle); } return(ctl); } }