【问题标题】:What are the differences between User Controls, Server Controls & Custom Controls?用户控件、服务器控件和自定义控件之间有什么区别?
【发布时间】:2010-11-02 21:37:34
【问题描述】:

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

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

【问题讨论】:

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


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

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 用户控件不是网页,也是编译的。
      • 一个用户控件一个网页块。
      • 乔希,我认为您正在考虑自定义控件。见support.microsoft.com/kb/893667
      猜你喜欢
      • 2011-07-12
      • 2010-11-22
      • 2010-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-14
      相关资源
      最近更新 更多