zoukankan      html  css  js  c++  java
  • TextBox 控件源码|TextBox 服务器控件源码|TextBox 控件c#源码

    [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;
      }
      }
    }

     


     


  • 相关阅读:
    决策表
    边界值
    等价类
    python_安装python2.7.7和easy_install
    网络_系统测试方案
    软件测试之魂_测试方案模板
    初识HTTP协议web开发
    Bootstrap框架
    jQuery快速入门
    前端基础之BOM和DOM
  • 原文地址:https://www.cnblogs.com/bestsaler/p/1835781.html
Copyright © 2011-2022 走看看