用户控件,服务器控件和用户控件之间有什么区别?自定义控件?

时间:2009-06-14 23:13:54

标签: asp.net user-controls controls custom-controls

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

  • 三者之间有哪些主要区别?
  • 如果前一个子弹的答案不明显,你何时会选择另一个?

2 个答案:

答案 0 :(得分:24)

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

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

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

我从未听说过自定义控件意味着您或您的团队自定义控件之外的任何其他控件。它可以包括用户,网络或复合控件。

答案 1 :(得分: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