Beispiel #1
0
        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);
            }
        }