zoukankan      html  css  js  c++  java
  • .net中Web自定义控件编写注意事项

     

      如果重载本身父类提供的enable属性,将导致无法将子控件中的值用viewstate回传,即无法保持状态。所以最好自己定义该类属性并实现。

      定义属性时,如果是子控件本身属性的反映,可以直接取其值,值将自动保留,如果属于自己定义的属性,用viewState保留状态

      例如:

       /// <summary>
      /// 文本框值 txtMD是一个Web TextBox

      /// </summary>

      [Bindable(true),

      Category("Appearance"),

      DefaultValue("")]

      public string Text

      {

      get

      {

      if(txtMD.Text!="")

      return txtMD.Text;

      else

      return "";

      }

      set

      {               

      txtMD.Text=value;

      }

      }
     

      自定义属性:


       /// <summary>
      /// 参考录入窗口宽度

      /// </summary>

      [Bindable(true),

      Category("Appearance"),

      DefaultValue("50")]

      public int TextBoxMaxLength

      {

      get

      {

      return ViewState[this.UniqueID+"TextBoxMaxLength"]==null?50:(int)ViewState[this.UniqueID+"TextBoxMaxLength"];

      }

      set

      {

      ViewState[this.UniqueID+"TextBoxMaxLength"]=value;

      }

      }

      注意:加上this.UniqueID是区分多个相同控件在同一页面上时的相同属性。 

      如果重载本身父类提供的enable属性,将导致无法将子控件中的值用viewstate回传,即无法保持状态。所以最好自己定义该类属性并实现。

      定义属性时,如果是子控件本身属性的反映,可以直接取其值,值将自动保留,如果属于自己定义的属性,用viewState保留状态

      例如:

       /// <summary>
      /// 文本框值 txtMD是一个Web TextBox

      /// </summary>

      [Bindable(true),

      Category("Appearance"),

      DefaultValue("")]

      public string Text

      {

      get

      {

      if(txtMD.Text!="")

      return txtMD.Text;

      else

      return "";

      }

      set

      {               

      txtMD.Text=value;

      }

      }
     

      自定义属性:


       /// <summary>
      /// 参考录入窗口宽度

      /// </summary>

      [Bindable(true),

      Category("Appearance"),

      DefaultValue("50")]

      public int TextBoxMaxLength

      {

      get

      {

      return ViewState[this.UniqueID+"TextBoxMaxLength"]==null?50:(int)ViewState[this.UniqueID+"TextBoxMaxLength"];

      }

      set

      {

      ViewState[this.UniqueID+"TextBoxMaxLength"]=value;

      }

      }

      注意:加上this.UniqueID是区分多个相同控件在同一页面上时的相同属性。 

    作者:qiuchun
    来源:csdn.net

  • 相关阅读:
    hiho一下121周 后缀数组二·重复旋律2
    codeforces 381 D Alyona and a tree(倍增)(前缀数组)
    hiho一下120周 后缀数组一·重复旋律
    POJ 2893 M × N Puzzle(树状数组求逆序对)
    Java高并发-无锁
    Java高并发-Java内存模型和线程安全
    Linux用户权限集中管理方案
    CentOS下sudo的使用和sudoers配置
    Java高并发-多线程基础
    Java高并发-概念
  • 原文地址:https://www.cnblogs.com/huqingyu/p/72348.html
Copyright © 2011-2022 走看看