• .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

  • 相关阅读:
    【BZOJ4383】[POI2015]Pustynia 线段树优化建图
    【BZOJ4519】[Cqoi2016]不同的最小割 最小割树
    【BZOJ2229】[Zjoi2011]最小割 最小割树
    【BZOJ2151】种树 双向链表+堆(模拟费用流)
    Python入门之Pycharm开发中最常用快捷键
    Python Web学习笔记之GIL机制下的鸡肋多线程
    SQL学习之Can't connect to MySQL server on localhost (10061)
    win10锁屏界面无法更新
    如何安装Pycharm官方统计代码行插件
    Notepad++ 主题配色配置
  • 原文地址:https://www.cnblogs.com/huqingyu/p/72348.html
Copyright © 2020-2023  润新知