欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » ASP.Net » 正文

热门阅读

asp.net自定义控件之基类的选择

创建时间:2012年07月10日 11:50  阅读次数:(5535)
分享到:
我们在开发自定义控件的时候,选择一个正确的基类,可以大大的缩短我们的开发时间。那么要如何正确的选择要继承的基类呢?我们可以来了解一下自定义控件所选择基类的方式。

注意:这是仅仅是讲基本控件的基类选择,复杂的数据控件就不在此列了。

1,Control类
这个是类是所有自定义控件的基础类,所有的控件都是直接或者间接的继承了该类,这个类提供了控件的最基础与必要的属性。比如控件的ID,ClientID,UniqueID,Visible等我们常见的属性。这个类还包含了控件生命周期的事件,如下:
public event EventHandler DataBinding;
public event EventHandler Disposed;
public event EventHandler Init;
public event EventHandler Load;
public event EventHandler PreRender;
public event EventHandler Unload;

继承Control类的优点是可扩展性最强,缺点就是缺少比较多的我们常用的属性,比如布局,外观样式等属性,这些属性,如果要我们自己去实现,那就太麻烦了。所以,如果我们的控件对样式的要求比较高,可以考虑继承下一个基类。

2,WebControl类
从这个类的名词我们可以看出来,这个类像是从.net过度到asp.net了,它就是从Control类继承过来专为web简单控件开发的基类。因为它继承了Control类,所以它具有Control类的所有不是私有的属性,方法,事件等。除此之外,它还扩展了很多控制控件样式的属性,比如BackColor,Font,Height,Width等属性。如果我们是要做一个简单的Web控件,选择继承WebControl类是最合适不过的了。

3,CompositeControl类
如果我们的自定义控件是把多个简单控件组合成一个控件,那么建议选择CompositeControl类作为基类。因为考虑到多个控件在解析html时可能会造成ID重复的问题,我们必须选择继承INamingContainer接口,而CompositeControl类就是继承自WebControl类与INamingContainer接口,所以它是组合控件的最适合的基类了。

4,现有控件
如果我们的自定义控件只是想在现有的控件上面增加一些功能,那么就可以考虑继承自现有的控件。比如,我们想为微软的TextBox增加一个OldText属性,用来保存上一次的Text值,那么就可以考虑继承自TextBox控件,这样我们所要写的代码非常少。因为其它的功能我们都从TextBox继承过来了,只需要扩展新的功能就可以了。Label,TextBox,Button,甚至是GridView控件,都可以作为新控件的基类,就看我们的实际需求了。

总结:WebControl类应该会是我们使用的最多的自定义控件基类,因为它扩展方便,又具备了Web控件的大部分的功能。2
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 45+96=? 的结果(结果是:141)
结  果: