在最近的一次采访中,我以为我对这个问题有合理的答案,但我轰炸了它。:(
- 三者之间的主要区别是什么?
- 如果上一个项目符号的答案不明显,您什么时候会选择一个而不是另一个?
在最近的一次采访中,我以为我对这个问题有合理的答案,但我轰炸了它。:(
用户控件是在 Web 项目中使用设计器构建的控件。它们通常只对 Web 应用程序私有(尽管有一些方法可以使它们对其他项目可用)。
服务器控件是也称为 Web 控件的控件。这些是可重用的控件,无需设计器的帮助即可呈现其 html,它们是在与 Web 应用程序分开的程序集中创建的,适用于将在许多不同的 Web 应用程序中使用的控件
复合控件是 Web 控件的子类型,是由其他 Web 控件组成(组合)的控件。
除了由您或您的团队自定义构建的控件之外,我从未听说过自定义控件意味着其他任何东西。它可以包括用户、Web 或复合控件。
用户控件是一个部分网页,其创建方式与 ASP.NET 中的任何其他网页相同,只是它具有 .ASCX 扩展名,并且可以嵌入到您的其他 ASPX 页面中。
用户控件在使用它们的网页中注册,如下所示:
<%@ Register TagPrefix="UC" TagName="TestControl" Src="test.ascx" %>
然后在要使用它们的网页中声明它们,如下所示:
<UC:TestControl id="Test1" runat="server"/>
自定义控件是在服务器上执行、公开对象模型和呈现标记文本(如 HTML 或 XML)的已编译代码组件,就像普通的 Web 窗体或用户控件一样。自定义控件是用 C# 或 VB 编写的,并且是从类派生的
System.Web.UI.WebControls.WebControl
服务器控件是在服务器上执行并将标记呈现给浏览器的控件。用户控件和自定义控件都是服务器控件的示例。