ASP.NET控件开发技巧之关闭基类不必要的功能

开发 后端
ASP.NET控件开发技巧之关闭基类不必要的功能方法是什么呢?本文就向你介绍这方面的内容。

ASP.NET控件开发技巧之关闭基类不必要的功能主要是什么方法呢?下面就向你介绍两种:

ASP.NET控件开发技巧之关闭基类不必要的功能方法1.关闭容器

Control类有Controls集合属性,即继承Control类的控件都是一个容器控件,asp.net控件内置的有PlaceHolder控件,其只继承自Control类,什么也没做。但所有控件都是继承自Control类的。如一个label控件,照样可以当容器使用.

  1. label1.Controls.add(control) 

有些控件则不需要这个功能,如Literal控件,只输出纯文字,不允许添加子控件

Literal控件显示 

很简单,重写CreateControlCollection方法,返回EmptyControlCollection空集合

  1. protected override ControlCollection CreateControlCollection()  
  2.  {  
  3.      return new EmptyControlCollection(this);  
  4.  } 

ASP.NET控件开发技巧之关闭基类不必要的功能方法2.禁用属性

如SqlDataSourceControl控件,其继承自DataSourceControl,DataSourceControl类则继承自Control类,DataSourceControl 不需要呈现东西,自然不需要样式,所以像SkinID,EnableTheming等属性则不需要使用。同时也可以用new关键字和一些元数据禁用掉像WebControl类的一些公共属性。有时候你确实不需要这些东西,或者是将这些属性给子标签用也可以。

  1. /**//// <exclude/>  
  2. /// <excludetoc/>  
  3. [Bindable(false), Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]  
  4. new public System.Drawing.Color BorderColor  
  5. {  
  6.     get 
  7.     {  
  8.         return new System.Drawing.Color();  
  9.     }  

总结:有时候继承下来的并不是你所需要的,所以灵活的重写基类的方法和属性是非常有必要的,而且有时候还必须这么做.

ASP.NET控件开发技巧之关闭基类不必要的功能方法的相关内容就向你介绍到这里,希望对你有所帮助。

【编辑推荐】

  1. ASP.NET优点浅析
  2. ASP.NET组件设计浅析
  3. ASP.NET组件设计代码实现浅析
  4. ASP.NET控件开发之修改服务器控件方法浅析
  5. ASP.NET控件开发之UpdatePanel触发JavaScript脚本技巧
责任编辑:仲衡 来源: 博客园
相关推荐

2011-02-18 11:02:28

2009-08-05 18:32:28

HtmlTextWriASP.NET控件开发

2009-08-05 10:17:55

ASP.NET TheASP.NET开发技巧

2009-08-05 18:46:21

ComboBox显示ASP.NET控件开发

2009-08-05 17:58:24

UpdatePanel

2009-08-04 17:42:23

DataSourceCASP.NET

2009-07-29 13:12:36

StringBuildASP.NET技巧

2011-08-10 11:12:03

2009-07-29 13:32:06

ASP.NET控件使用

2009-08-04 10:43:59

ASP.NET控件开发

2009-08-06 15:21:45

ASP.NET控件开发RenderConte

2009-08-07 14:05:21

ASP.NET控件

2009-08-07 13:56:46

ASP.NET控件开发

2011-06-07 09:35:06

2011-06-07 09:14:59

2011-06-07 09:34:40

2009-08-07 14:40:36

RegularExprASP.NET验证控件

2009-07-22 18:08:00

ASP.NET基类

2012-09-26 09:46:29

ASP.NETWeb框架

2009-08-07 15:24:16

ASP.NET模板控件
点赞
收藏

51CTO技术栈公众号