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

  • 相关阅读:
    使用keepalived实现双机热备
    MYSQL ERROR CODE 错误编号的意义
    Mysql slow query log
    eclipse svn 分支合并到主干
    Timer的schedule和scheduleAtFixedRate方法的区别解析
    Java内部类引用外部类中的局部变量为何必须是final问题解析
    nginx中有关命令和日志切割,配置文件加载的详细阐述
    流媒体中ffmpeg 命令的使用
    windows下搭建nginx服务器及实现nginx支持https配置流程
    mysql 中sql语句的执行顺序
  • 原文地址:https://www.cnblogs.com/huqingyu/p/72348.html
Copyright © 2011-2022 走看看