有什么区别,官方术语是什么,ASP.NET 3.5中的任何术语都已过时?
UserControl:以.ascx结尾的自定义控件,由其他Web控件组成.它几乎就像一个aspx网页的小版本.它由UI(ascx)和代码隐藏组成.通过引用DLL无法在其他项目中重用.
WebControl:托管在网页或UserControl中的控件.它由一个或多个类组成,串联工作,并托管在aspx页面或UserControl中.WebControl没有UI"页面",必须直接呈现其内容.它们可以通过引用它们的DLL在其他应用程序中重用.
RenderedControl:不存在.可能是WebControl的同义词.可能表示控件直接写入HttpResponse而不是呈现给aspx页面.
CompositeControl:Inbetween UserControls和WebControls.它们像UserControls一样编码,因为它们由其他控件组成.没有任何用于控件合成的图形UI,并且必须由控件设计者对CompositeControl的UI编辑的支持进行编码.合成是在代码隐藏中完成的.CompositeControls可以在WebControls等其他项目中重用.
你忘记了ServerControl.
根据我的理解,就像这样:
只有两种不同的控件:UserControl和ServerControl
CompositeControls是一种"高级"UserControls.在Scott Guthries博客上查找更多信息.
所有这些都是WebControls(因为它们都是从System.Web.UI.Control派生的)
它们都以任何方式呈现,因此我希望将它们全部视为渲染控件.
来自MSDN:
用户控制
在ASP.NET中:使用与ASP.NET页面相同的语法以声明方式创作的服务器控件,并保存为扩展名为.ascx的文本文件.用户控件允许对页面功能进行分区和重用.在第一次请求时,页面框架将用户控件解析为派生自System.Web.UI.UserControl的类,并将该类编译为程序集,并在后续请求中重用该程序集.由于页面样式的创作和部署,用户控件很容易开发,无需事先编译.
服务器控制
封装用户界面和相关功能的服务器端组件.ASP.NET服务器控件直接或间接地从System.Web.UI.Control类派生.ASP.NET服务器控件的超集包括Web服务器控件,HTML服务器控件和ASP.NET移动控件.ASP.NET服务器控件的页面语法在控件的标记上包含runat ="server"属性.另请参阅:HTML服务器控件,验证服务器控件,Web服务器控件.