CSDN博客

img jiahanhui

ASP.NET控件模型比较及创建自定义控件时基类的选择

发表于2004/9/14 16:19:00  1092人阅读

ASP.NET控件模型的比较

ASP.NET提供了用户控件和自定义控件两种控件模型。一般而言,用户控件模型适合创建应用程序特定的控件,而自定义控件模型适合创建通用的再分发的控件。从部署的角度来看,自定义控件采用二进制的形式被部署使用,而用户控件必须以源代码的形式进行部署。用户控件派生自System.Web.UI.UserControl类,支持以开发ASP.NET页面的方式来进行开发,而自定义控件类直接或间接派生自Sytem.Web.UI.Control类,VS中没有创建自定义控件的设计器支持。自定义控件可提供丰富的设计期支持,而用户控件拥有很少的设计期支持。在内容和布局上,自定义控件可以展现任意动态内容,而用户控件则比较适用于静态内容。虽然模型不同,但两种类型的控件都是从System.Web.UI.Control类直接或间接派生而来。虽然用户控件是声明性的,但在页面中第一次使用时,用户控件会被解析并编译进配件中。此后,用户控件的行为就像任何其他编译的(或自定义)的控件一样。因此,两种模型之间没有明显的的区别,性能不是选择模型的主要因素,应根据部署、创建或设计期支持等其它因素来选择开发模型。

创建自定义控件时基类的选择

如果控件需要提供html之外的文本(如xml或wml)或不可见的html文本,应该选择从Control类派生。如果仅仅需要生成纯html文本且不为用户提供修改所生成元素的功能,也应该选择从Control类派生。Control类仅提供了ASP.NET页面生成过程中的所有生命周期事件。如果要生成可视化的html文本,应该选择从WebControl类派生,它提供了更多内置的UI属性。实际开发中,应优先考虑从现有的ASP.NET控件下手,通过继承或组合,复用现有功能其中自己需要的部分,改写或添加其它功能。

0 0

相关博文

我的热门文章

img
取 消
img