当前位置:  开发笔记 > 后端 > 正文

UserControl,WebControl,RenderedControl和CompositeControl有什么区别?

如何解决《UserControl,WebControl,RenderedControl和CompositeControl有什么区别?》经验,为你挑选了2个好方法。

有什么区别,官方术语是什么,ASP.NET 3.5中的任何术语都已过时?



1> 小智..:

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等其他项目中重用.


@ajukraine:这个答案差不多有五年了,因此只适用于当时的asp.net状态.如果他们已经修好了,那就好了.

2> JRoppert..:

你忘记了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服务器控件.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有