15

在最近的一次采访中,我以为我对这个问题有合理的答案,但我轰炸了它。:(

  • 三者之间的主要区别是什么?
  • 如果上一个项目符号的答案不明显,您什么时候会选择一个而不是另一个?
4

2 回答 2

24
  • 用户控件是在 Web 项目中使用设计器构建的控件。它们通常只对 Web 应用程序私有(尽管有一些方法可以使它们对其他项目可用)。

  • 服务器控件是也称为 Web 控件的控件。这些是可重用的控件,无需设计器的帮助即可呈现其 html,它们是在与 Web 应用程序分开的程序集中创建的,适用于将在许多不同的 Web 应用程序中使用的控件

  • 复合控件是 Web 控件的子类型,是由其他 Web 控件组成(组合)的控件。

除了由您或您的团队自定义构建的控件之外,我从未听说过自定义控件意味着其他任何东西。它可以包括用户、Web 或复合控件。

于 2009-06-14T23:23:24.510 回答
7

用户控件是一个部分网页,其创建方式与 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 

服务器控件是在服务器上执行并将标记呈现给浏览器的控件。用户控件和自定义控件都是服务器控件的示例。

http://support.microsoft.com/kb/893667

于 2009-06-14T23:24:05.647 回答