⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aspnetpager.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 CS
📖 第 1 页 / 共 5 页
字号:
namespace PowerEasy.Controls
{
    using System;
    using System.Collections;
    using System.Collections.Specialized;
    using System.ComponentModel;
    using System.Runtime.CompilerServices;
    using System.Text;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    [ToolboxData("<{0}:AspNetPager runat=server></{0}:AspNetPager>"), DefaultEvent("PageChanged"), ParseChildren(false), DefaultProperty("PageSize"), PersistChildren(false), Description("专用于ASP.Net Web应用程序的分页控件"), Designer(typeof(PagerDesigner))]
    public class AspNetPager : Panel, INamingContainer, IPostBackEventHandler, IPostBackDataHandler
    {
        private string cssClassName;
        private string currentUrl;
        private string inputPageIndex;
        private string inputPageSize;
        private string urlPageIndexName;
        private bool urlPaging;
        private NameValueCollection urlParams;

        public event EventHandler<PageChangedEventArgs> PageChanged;

        protected override void AddAttributesToRender(HtmlTextWriter writer)
        {
            if (this.Page != null)
            {
                this.Page.VerifyRenderingInServerForm(this);
            }
            base.AddAttributesToRender(writer);
        }

        private void AddToolTip(HtmlTextWriter writer, int pageIndex)
        {
            if (this.ShowNavigationToolTip)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Title, string.Format(this.NavigationToolTipTextFormatString, pageIndex));
            }
        }

        private string BuildUrlString(NameValueCollection col)
        {
            int num;
            string str = "";
            if ((this.urlParams == null) || (this.urlParams.Count <= 0))
            {
                for (num = 0; num < col.Count; num++)
                {
                    str = str + ("&" + col.Keys[num] + "=" + col[num]);
                }
                return (this.currentUrl + "?" + str.Substring(1));
            }
            NameValueCollection values = new NameValueCollection(this.urlParams);
            string[] allKeys = values.AllKeys;
            for (num = 0; num < allKeys.Length; num++)
            {
                allKeys[num] = allKeys[num].ToLower();
            }
            for (num = 0; num < col.Count; num++)
            {
                if (Array.IndexOf<string>(allKeys, col.Keys[num].ToLower()) < 0)
                {
                    values.Add(col.Keys[num], col[num]);
                }
                else
                {
                    values[col.Keys[num]] = col[num];
                }
            }
            StringBuilder builder = new StringBuilder();
            for (num = 0; num < values.Count; num++)
            {
                builder.Append("&");
                builder.Append(values.Keys[num]);
                builder.Append("=");
                builder.Append(values[num]);
            }
            return (this.currentUrl + "?" + builder.ToString().Substring(1));
        }

        private void CreateInputBox(HtmlTextWriter writer)
        {
            if ((this.ShowInputBox == PowerEasy.Controls.ShowInputBox.Always) || ((this.ShowInputBox == PowerEasy.Controls.ShowInputBox.Auto) && (this.PageCount >= this.ShowBoxThreshold)))
            {
                writer.Write("&nbsp;&nbsp;&nbsp;&nbsp;");
                if (this.TextBeforeInputBox != null)
                {
                    writer.Write(this.TextBeforeInputBox);
                }
                writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
                writer.AddStyleAttribute(HtmlTextWriterStyle.Height, "12px");
                writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "20px");
                writer.AddAttribute(HtmlTextWriterAttribute.Value, this.CurrentPageIndex.ToString());
                if ((this.InputBoxStyle != null) && (this.InputBoxStyle.Trim().Length > 0))
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Style, this.InputBoxStyle);
                }
                if ((this.InputBoxClass != null) && (this.InputBoxClass.Trim().Length > 0))
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, this.InputBoxClass);
                }
                if ((this.PageCount <= 1) && this.AlwaysShow)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.ReadOnly, "true");
                }
                writer.AddAttribute(HtmlTextWriterAttribute.Name, this.UniqueID + "_input");
                writer.AddAttribute(HtmlTextWriterAttribute.Id, this.UniqueID + "_input");
                string str = "doCheck(document.getElementById('" + this.UniqueID + "_input'))";
                string str2 = "if(event.keyCode==13){if(" + str + ")__doPostBack('" + this.UniqueID + "',document.getElementById('" + this.UniqueID + "_input').value);else{event.returnValue=false;}}";
                string str3 = "if(event.keyCode==13){if(" + str + "){event.returnValue=false;document.all['" + this.UniqueID + "'][1].click();}else{event.returnValue=false;}}";
                string str4 = "if(" + str + "){location.href=BuildUrlString('" + this.urlPageIndexName + "',document.getElementById('" + this.UniqueID + "_input').value)}";
                writer.AddAttribute("onkeypress", this.urlPaging ? str3 : str2);
                writer.AddAttribute("onchange", this.urlPaging ? str3 : str2);
                writer.RenderBeginTag(HtmlTextWriterTag.Input);
                writer.RenderEndTag();
                if (this.TextAfterInputBox != null)
                {
                    writer.Write(this.TextAfterInputBox);
                }
                writer.AddAttribute(HtmlTextWriterAttribute.Type, this.urlPaging ? "Button" : "Submit");
                writer.AddAttribute(HtmlTextWriterAttribute.Name, this.UniqueID);
                writer.AddAttribute(HtmlTextWriterAttribute.Value, this.SubmitButtonText);
                if ((this.SubmitButtonClass != null) && (this.SubmitButtonClass.Trim().Length > 0))
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, this.SubmitButtonClass);
                }
                if ((this.SubmitButtonStyle != null) && (this.SubmitButtonStyle.Trim().Length > 0))
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Style, this.SubmitButtonStyle);
                }
                if ((this.PageCount <= 1) && this.AlwaysShow)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Disabled, "true");
                }
                writer.AddAttribute(HtmlTextWriterAttribute.Onclick, this.urlPaging ? str4 : ("return " + str));
                writer.RenderBeginTag(HtmlTextWriterTag.Input);
                writer.RenderEndTag();
            }
        }

        private void CreateMoreButton(HtmlTextWriter writer, int pageIndex)
        {
            this.WriteCssClass(writer);
            writer.AddAttribute(HtmlTextWriterAttribute.Href, this.GetHrefString(pageIndex));
            this.AddToolTip(writer, pageIndex);
            writer.RenderBeginTag(HtmlTextWriterTag.A);
            if ((this.PagingButtonType == PowerEasy.Controls.PagingButtonType.Image) && (this.MoreButtonType == PowerEasy.Controls.PagingButtonType.Image))
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Src, this.ImagePath + "more" + this.ButtonImageNameExtension + this.ButtonImageExtension);
                writer.AddAttribute(HtmlTextWriterAttribute.Border, "0");
                writer.AddAttribute(HtmlTextWriterAttribute.Align, this.ButtonImageAlign.ToString());
                writer.RenderBeginTag(HtmlTextWriterTag.Img);
                writer.RenderEndTag();
            }
            else
            {
                writer.Write("...");
            }
            writer.RenderEndTag();
            writer.AddStyleAttribute(HtmlTextWriterStyle.Width, this.PagingButtonSpacing.ToString());
            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            writer.RenderEndTag();
        }

        private void CreateNavigationButton(HtmlTextWriter writer, string btnname)
        {
            if ((this.ShowFirstLast || ((btnname != "first") && (btnname != "last"))) && (this.ShowPrevNext || ((btnname != "prev") && (btnname != "next"))))
            {
                bool flag;
                int num;
                string str = "";
                bool flag2 = (this.PagingButtonType == PowerEasy.Controls.PagingButtonType.Image) && (this.NavigationButtonType == PowerEasy.Controls.PagingButtonType.Image);
                if ((btnname == "prev") || (btnname == "first"))
                {
                    flag = this.CurrentPageIndex <= 1;
                    if (!this.ShowDisabledButtons && flag)
                    {
                        return;
                    }
                    num = (btnname == "first") ? 1 : (this.CurrentPageIndex - 1);
                    if (flag2)
                    {
                        if (!flag)
                        {
                            writer.AddAttribute(HtmlTextWriterAttribute.Href, this.GetHrefString(num));
                            this.AddToolTip(writer, num);
                            writer.RenderBeginTag(HtmlTextWriterTag.A);
                            writer.AddAttribute(HtmlTextWriterAttribute.Src, this.ImagePath + btnname + this.ButtonImageNameExtension + this.ButtonImageExtension);
                            writer.AddAttribute(HtmlTextWriterAttribute.Border, "0");
                            writer.AddAttribute(HtmlTextWriterAttribute.Align, this.ButtonImageAlign.ToString());
                            writer.RenderBeginTag(HtmlTextWriterTag.Img);
                            writer.RenderEndTag();
                            writer.RenderEndTag();
                        }
                        else
                        {
                            writer.AddAttribute(HtmlTextWriterAttribute.Src, this.ImagePath + btnname + this.DisabledButtonImageNameExtension + this.ButtonImageExtension);
                            writer.AddAttribute(HtmlTextWriterAttribute.Border, "0");
                            writer.AddAttribute(HtmlTextWriterAttribute.Align, this.ButtonImageAlign.ToString());
                            writer.RenderBeginTag(HtmlTextWriterTag.Img);
                            writer.RenderEndTag();
                        }
                    }
                    else
                    {
                        str = (btnname == "prev") ? this.PrevPageText : this.FirstPageText;
                        if (flag)
                        {
                            writer.AddAttribute(HtmlTextWriterAttribute.Disabled, "disabled");
                        }
                        else
                        {
                            this.WriteCssClass(writer);
                            this.AddToolTip(writer, num);
                            writer.AddAttribute(HtmlTextWriterAttribute.Href, this.GetHrefString(num));
                        }
                        writer.RenderBeginTag(HtmlTextWriterTag.A);
                        writer.Write(str);
                        writer.RenderEndTag();
                    }
                }
                else
                {
                    flag = this.CurrentPageIndex >= this.PageCount;
                    if (!this.ShowDisabledButtons && flag)
                    {
                        return;
                    }
                    num = (btnname == "last") ? this.PageCount : (this.CurrentPageIndex + 1);
                    if (flag2)
                    {
                        if (!flag)
                        {
                            writer.AddAttribute(HtmlTextWriterAttribute.Href, this.GetHrefString(num));
                            this.AddToolTip(writer, num);
                            writer.RenderBeginTag(HtmlTextWriterTag.A);
                            writer.AddAttribute(HtmlTextWriterAttribute.Src, this.ImagePath + btnname + this.ButtonImageNameExtension + this.ButtonImageExtension);
                            writer.AddAttribute(HtmlTextWriterAttribute.Border, "0");
                            writer.AddAttribute(HtmlTextWriterAttribute.Align, this.ButtonImageAlign.ToString());
                            writer.RenderBeginTag(HtmlTextWriterTag.Img);
                            writer.RenderEndTag();
                            writer.RenderEndTag();
                        }
                        else
                        {
                            writer.AddAttribute(HtmlTextWriterAttribute.Src, this.ImagePath + btnname + this.DisabledButtonImageNameExtension + this.ButtonImageExtension);
                            writer.AddAttribute(HtmlTextWriterAttribute.Border, "0");
                            writer.AddAttribute(HtmlTextWriterAttribute.Align, this.ButtonImageAlign.ToString());
                            writer.RenderBeginTag(HtmlTextWriterTag.Img);
                            writer.RenderEndTag();
                        }
                    }
                    else
                    {
                        str = (btnname == "next") ? this.NextPageText : this.LastPageText;
                        if (flag)
                        {
                            writer.AddAttribute(HtmlTextWriterAttribute.Disabled, "disabled");
                        }
                        else
                        {
                            this.WriteCssClass(writer);
                            this.AddToolTip(writer, num);
                            writer.AddAttribute(HtmlTextWriterAttribute.Href, this.GetHrefString(num));
                        }
                        writer.RenderBeginTag(HtmlTextWriterTag.A);
                        writer.Write(str);
                        writer.RenderEndTag();
                    }
                }
                this.WriteButtonSpace(writer);
            }
        }

        private void CreateNumericButton(HtmlTextWriter writer, int index)
        {
            bool isCurrent = index == this.CurrentPageIndex;
            if ((this.PagingButtonType == PowerEasy.Controls.PagingButtonType.Image) && (this.NumericButtonType == PowerEasy.Controls.PagingButtonType.Image))
            {
                if (!isCurrent)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Href, this.GetHrefString(index));
                    this.AddToolTip(writer, index);
                    writer.RenderBeginTag(HtmlTextWriterTag.A);
                    this.CreateNumericImages(writer, index, isCurrent);
                    writer.RenderEndTag();
                }
                else
                {
                    this.CreateNumericImages(writer, index, isCurrent);
                }
            }
            else if (isCurrent)
            {
                writer.AddStyleAttribute(HtmlTextWriterStyle.FontWeight, "Bold");
                writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "red");
                writer.RenderBeginTag(HtmlTextWriterTag.Font);
                if (this.NumericButtonTextFormatString.Length > 0)
                {
                    writer.Write(string.Format(this.NumericButtonTextFormatString, this.ChinesePageIndex ? GetChinesePageIndex(index) : index.ToString()));
                }
                else
                {
                    writer.Write(this.ChinesePageIndex ? GetChinesePageIndex(index) : index.ToString());
                }
                writer.RenderEndTag();
            }
            else
            {
                this.WriteCssClass(writer);
                this.AddToolTip(writer, index);
                writer.AddAttribute(HtmlTextWriterAttribute.Href, this.GetHrefString(index));
                writer.RenderBeginTag(HtmlTextWriterTag.A);
                if (this.NumericButtonTextFormatString.Length > 0)
                {
                    writer.Write(string.Format(this.NumericButtonTextFormatString, this.ChinesePageIndex ? GetChinesePageIndex(index) : index.ToString()));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -