[ControlBuilder(typeof(TextBoxControlBuilder)), DefaultProperty("Text"), ParseChildren(false), DataBindingHandler("System.Web.UI.Design.TextDataBindingHandler, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"), ValidationProperty("Text"), DefaultEvent("TextChanged"), PermissionSet(SecurityAction.LinkDemand, XML="<PermissionSet class=\"System.Security.PermissionSet\"\r\n version=\"1\">\r\n <IPermission class=\"System.Web.AspNetHostingPermission, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\"\r\n version=\"1\"\r\n Level=\"Minimal\"/>\r\n</PermissionSet>\r\n"), PermissionSet(SecurityAction.InheritanceDemand, XML="<PermissionSet class=\"System.Security.PermissionSet\"\r\n version=\"1\">\r\n <IPermission class=\"System.Web.AspNetHostingPermission, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\"\r\n version=\"1\"\r\n Level=\"Minimal\"/>\r\n</PermissionSet>\r\n")]public class TextBox : WebControl, IPostBackDataHandler
          {
            // Fields
            private static readonly object EventTextChanged;

            // Events
            [WebCategory("Action"), WebSysDescription("TextBox_OnTextChanged")]
            public event EventHandler TextChanged;

            // Methods
            static TextBox();
            public TextBox();
            protected override void AddAttributesToRender(HtmlTextWriter writer);
            protected override void AddParsedSubObject(object obj);
            protected override void OnPreRender(EventArgs e);
            protected virtual void OnTextChanged(EventArgs e);
            protected override void Render(HtmlTextWriter writer);
            bool IPostBackDataHandler.LoadPostData(string postDataKey, NameValueCollection postCollection);
            void IPostBackDataHandler.RaisePostDataChangedEvent();

            // Properties
            [WebCategory("Behavior"), WebSysDescription("TextBox_AutoPostBack"), DefaultValue(false)]
            public virtual bool AutoPostBack { get; set; }
            [DefaultValue(0), WebSysDescription("TextBox_Columns"), Bindable(true), WebCategory("Appearance")]
            public virtual int Columns { get; set; }
            [Bindable(true), WebCategory("Behavior"), DefaultValue(0), WebSysDescription("TextBox_MaxLength")]
            public virtual int MaxLength { get; set; }
            [WebCategory("Behavior"), Bindable(true), DefaultValue(false), WebSysDescription("TextBox_ReadOnly")]
            public virtual bool ReadOnly { get; set; }
            [Bindable(true), WebCategory("Behavior"), DefaultValue(0), WebSysDescription("TextBox_Rows")]
            public virtual int Rows { get; set; }
            private bool SaveTextViewState { get; }
            protected override HtmlTextWriterTag TagKey { get; }
            [Bindable(true), WebCategory("Appearance"), DefaultValue(""), WebSysDescription("TextBox_Text"), PersistenceMode(PersistenceMode.EncodedInnerDefaultProperty)]
            public virtual string Text { get; set; }
            [DefaultValue(0), WebSysDescription("TextBox_TextMode"), WebCategory("Behavior")]
            public virtual TextBoxMode TextMode { get; set; }
            [WebCategory("Layout"), DefaultValue(true), WebSysDescription("TextBox_Wrap")]
            public virtual bool Wrap { get; set; }
          }
          [ControlBuilder(typeof(TextBoxControlBuilder)), DefaultProperty("Text"), ParseChildren(false), DataBindingHandler("System.Web.UI.Design.TextDataBindingHandler, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"), ValidationProperty("Text"), DefaultEvent("TextChanged"), PermissionSet(SecurityAction.LinkDemand, XML="<PermissionSet class=\"System.Security.PermissionSet\"\r\n version=\"1\">\r\n <IPermission class=\"System.Web.AspNetHostingPermission, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\"\r\n version=\"1\"\r\n Level=\"Minimal\"/>\r\n</PermissionSet>\r\n"), PermissionSet(SecurityAction.InheritanceDemand, XML="<PermissionSet class=\"System.Security.PermissionSet\"\r\n version=\"1\">\r\n <IPermission class=\"System.Web.AspNetHostingPermission, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\"\r\n version=\"1\"\r\n Level=\"Minimal\"/>\r\n</PermissionSet>\r\n")]
          public class TextBox : WebControl, IPostBackDataHandler
          {
            // Fields
            private static readonly object EventTextChanged = new object();

            // Events
            [WebCategory("Action"), WebSysDescription("TextBox_OnTextChanged")]
            public event EventHandler TextChanged
            {
            add
            {
            base.Events.AddHandler(EventTextChanged, value);
            }
            remove
            {
            base.Events.RemoveHandler(EventTextChanged, value);
            }
            }

            // Methods
            public TextBox() : base(HtmlTextWriterTag.Input)
            {
            }

            protected override void AddAttributesToRender(HtmlTextWriter writer)
            {
            int maxLength;
            if (this.Page != null)
            {
            this.Page.VerifyRenderingInServerForm(this);
            }
            writer.AddAttribute(HtmlTextWriterAttribute.Name, this.UniqueID);
            switch (this.TextMode)
            {
            case TextBoxMode.SingleLine:
            {
            writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
            string text = this.Text;
            if (text.Length > 0)
            {
            writer.AddAttribute(HtmlTextWriterAttribute.Value, text);
            }
            break;
            }
            case TextBoxMode.Password:
            writer.AddAttribute(HtmlTextWriterAttribute.Type, "password");
            break;

            case TextBoxMode.MultiLine:
            maxLength = this.Rows;
            if (maxLength > 0)
            {
            writer.AddAttribute(HtmlTextWriterAttribute.Rows, maxLength.ToString(NumberFormatInfo.InvariantInfo));
            }
            maxLength = this.Columns;
            if (maxLength > 0)
            {
            writer.AddAttribute(HtmlTextWriterAttribute.Cols, maxLength.ToString(NumberFormatInfo.InvariantInfo));
            }
            if (!this.Wrap)
            {
            writer.AddAttribute(HtmlTextWriterAttribute.Wrap, "off");
            }
            goto Label_00FF;
            }
            maxLength = this.MaxLength;
            if (maxLength > 0)
            {
            writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, maxLength.ToString(NumberFormatInfo.InvariantInfo));
            }
            maxLength = this.Columns;
            if (maxLength > 0)
            {
            writer.AddAttribute(HtmlTextWriterAttribute.Size, maxLength.ToString(NumberFormatInfo.InvariantInfo));
            }
            Label_00FF:
            if (this.ReadOnly)
            {
            writer.AddAttribute(HtmlTextWriterAttribute.ReadOnly, "readonly");
            }
            if (this.AutoPostBack && (this.Page != null))
            {
            string postBackClientEvent = this.Page.GetPostBackClientEvent(this, "");
            if (base.HasAttributes)
            {
            string str3 = base.Attributes["onchange"];
            if (str3 != null)
            {
            postBackClientEvent = str3 + postBackClientEvent;
            base.Attributes.Remove("onchange");
            }
            }
            writer.AddAttribute(HtmlTextWriterAttribute.Onchange, postBackClientEvent);
            writer.AddAttribute("language", "javascript");
            }
            base.AddAttributesToRender(writer);
            }

            protected override void AddParsedSubObject(object obj)
            {
            if (!(obj is LiteralControl))
            {
            throw new HttpException(HttpRuntime.FormatResourceString("Cannot_Have_Children_Of_Type", "TextBox", obj.GetType().Name.ToString()));
            }
            this.Text = ((LiteralControl) obj).Text;
            }

            protected override void OnPreRender(EventArgs e)
            {
            base.OnPreRender(e);
            if (!this.SaveTextViewState)
            {
            this.ViewState.SetItemDirty("Text", false);
            }
            if (((this.Page != null) && this.AutoPostBack) && this.Enabled)
            {
            this.Page.RegisterPostBackScript();
            }
            }

            protected virtual void OnTextChanged(EventArgs e)
            {
            EventHandler handler = (EventHandler) base.Events[EventTextChanged];
            if (handler != null)
            {
            handler(this, e);
            }
            }

            protected override void Render(HtmlTextWriter writer)
            {
            this.RenderBeginTag(writer);
            if (this.TextMode == TextBoxMode.MultiLine)
            {
            HttpUtility.HtmlEncode(this.Text, writer);
            }
            this.RenderEndTag(writer);
            }

            bool IPostBackDataHandler.LoadPostData(string postDataKey, NameValueCollection postCollection)
            {
            string text = this.Text;
            string str2 = postCollection[postDataKey];
            if (!text.Equals(str2))
            {
            this.Text = str2;
            return true;
            }
            return false;
            }

            void IPostBackDataHandler.RaisePostDataChangedEvent()
            {
            this.OnTextChanged(EventArgs.Empty);
            }

            // Properties
            [WebCategory("Behavior"), WebSysDescription("TextBox_AutoPostBack"), DefaultValue(false)]
            public virtual bool AutoPostBack
            {
            get
            {
            object obj2 = this.ViewState["AutoPostBack"];
            return ((obj2 != null) && ((bool) obj2));
            }
            set
            {
            this.ViewState["AutoPostBack"] = value;
            }
            }

            [DefaultValue(0), WebSysDescription("TextBox_Columns"), Bindable(true), WebCategory("Appearance")]
            public virtual int Columns
            {
            get
            {
            object obj2 = this.ViewState["Columns"];
            if (obj2 != null)
            {
            return (int) obj2;
            }
            return 0;
            }
            set
            {
            if (value < 0)
            {
            throw new ArgumentOutOfRangeException("value");
            }
            this.ViewState["Columns"] = value;
            }
            }

            [Bindable(true), WebCategory("Behavior"), DefaultValue(0), WebSysDescription("TextBox_MaxLength")]
            public virtual int MaxLength
            {
            get
            {
            object obj2 = this.ViewState["MaxLength"];
            if (obj2 != null)
            {
            return (int) obj2;
            }
            return 0;
            }
            set
            {
            if (value < 0)
            {
            throw new ArgumentOutOfRangeException("value");
            }
            this.ViewState["MaxLength"] = value;
            }
            }

            [WebCategory("Behavior"), Bindable(true), DefaultValue(false), WebSysDescription("TextBox_ReadOnly")]
            public virtual bool ReadOnly
            {
            get
            {
            object obj2 = this.ViewState["ReadOnly"];
            return ((obj2 != null) && ((bool) obj2));
            }
            set
            {
            this.ViewState["ReadOnly"] = value;
            }
            }

            [Bindable(true), WebCategory("Behavior"), DefaultValue(0), WebSysDescription("TextBox_Rows")]
            public virtual int Rows
            {
            get
            {
            object obj2 = this.ViewState["Rows"];
            if (obj2 != null)
            {
            return (int) obj2;
            }
            return 0;
            }
            set
            {
            if (value < 0)
            {
            throw new ArgumentOutOfRangeException("value");
            }
            this.ViewState["Rows"] = value;
            }
            }

            private bool SaveTextViewState
            {
            get
            {
            if (this.TextMode == TextBoxMode.Password)
            {
            return false;
            }
            if (((base.Events[EventTextChanged] == null) && this.Enabled) && (this.Visible && (base.GetType() == typeof(TextBox))))
            {
            return false;
            }
            return true;
            }
            }

            protected override HtmlTextWriterTag TagKey
            {
            get
            {
            if (this.TextMode == TextBoxMode.MultiLine)
            {
            return HtmlTextWriterTag.Textarea;
            }
            return HtmlTextWriterTag.Input;
            }
            }

            [Bindable(true), WebCategory("Appearance"), DefaultValue(""), WebSysDescription("TextBox_Text"), PersistenceMode(PersistenceMode.EncodedInnerDefaultProperty)]
            public virtual string Text
            {
            get
            {
            string str = (string) this.ViewState["Text"];
            if (str != null)
            {
            return str;
            }
            return string.Empty;
            }
            set
            {
            this.ViewState["Text"] = value;
            }
            }

            [DefaultValue(0), WebSysDescription("TextBox_TextMode"), WebCategory("Behavior")]
            public virtual TextBoxMode TextMode
            {
            get
            {
            object obj2 = this.ViewState["Mode"];
            if (obj2 != null)
            {
            return (TextBoxMode) obj2;
            }
            return TextBoxMode.SingleLine;
            }
            set
            {
            if ((value < TextBoxMode.SingleLine) || (value > TextBoxMode.Password))
            {
            throw new ArgumentOutOfRangeException("value");
            }
            this.ViewState["Mode"] = value;
            }
            }

            [WebCategory("Layout"), DefaultValue(true), WebSysDescription("TextBox_Wrap")]
            public virtual bool Wrap
            {
            get
            {
            object obj2 = this.ViewState["Wrap"];
            if (obj2 != null)
            {
            return (bool) obj2;
            }
            return true;
            }
            set
            {
            this.ViewState["Wrap"] = value;
            }
            }
          }

           


           


          posted on 2009-02-27 09:32 sanmao 閱讀(336) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 囊谦县| 共和县| 克什克腾旗| 兴化市| 东丰县| 灵寿县| 景德镇市| 长子县| 荆州市| 叶城县| 和林格尔县| 太保市| 卓资县| 石首市| 西畴县| 固阳县| 崇明县| 佳木斯市| 库尔勒市| 庆云县| 桂阳县| 凤山县| 广东省| 义马市| 盘山县| 林西县| 琼结县| 益阳市| 扬州市| 横山县| 黄梅县| 芮城县| 惠州市| 调兵山市| 扶绥县| 武川县| 舞阳县| 那曲县| 湾仔区| 弋阳县| 萨嘎县|