一个 Web 用户控件与一个完整的 Web 窗体页相似,它们都包含一个用户界面页和一个代码隐藏文件。该用户界面页在以下方面与 .aspx 文件不同: 扩展名必须为 .ascx。 用户控件中不包含 <HTML>、<BODY> 和 <FORM> 元素(这些元素必须位于宿主页中)。 在其他任一方面,用户控件都与 Web 窗体页相似。在用户控件上可以使用与标准 Web 窗体页上相同的 HTML 元素和 Web 控件。例如,如果您要创建一个将用作工具栏的用户控件,则可以将一系列“按钮”(Button) Web 服务器控件放在该控件上,并创建这些按钮的事件处理程序。
Web 用户控件 Web 自定义控件 易于创建 难于创建 为使用可视化设计工具的使用者提供有限的支持 为使用者提供完全的可视化设计工具支持 每个应用程序中需要控件的一个单独副本 仅在全局程序集缓存中需要控件的单个副本 不能添加到 Visual Studio 中的工具箱 可以添加到 Visual Studio 中的工具箱 适用于静态布局 适用于动态布局
与服务器端包含文件 (SSI) 相比,用户控件通过访问由 ASP.NET 提供的对象模型支持,使您具有更大的灵活性。您可以对您在控件中声明的任何属性进行编程,而不只是包含其他文件提供的功能,这与其他任何 ASP.NET 服务器控件一样。ASP.NET 服务器控件是在服务器上运行并封装用户界面及其他相关功能的组件。这些服务器控件在 ASP.NET 页和 ASP.NET 代码隐藏类中使用。
用于asp.net服务器控件 基于:System.Web.UI.Control
用户控件中不包含 <HTML>、<BODY> 和 <FORM> 元素(这些元素必须位于宿主页中)。
在其他任一方面,用户控件都与 Web 窗体页相似。在用户控件上可以使用与标准 Web 窗体页上相同的 HTML 元素和 Web 控件。例如,如果您要创建一个将用作工具栏的用户控件,则可以将一系列“按钮”(Button) Web 服务器控件放在该控件上,并创建这些按钮的事件处理程序。
易于创建 难于创建
为使用可视化设计工具的使用者提供有限的支持 为使用者提供完全的可视化设计工具支持
每个应用程序中需要控件的一个单独副本 仅在全局程序集缓存中需要控件的单个副本
不能添加到 Visual Studio 中的工具箱 可以添加到 Visual Studio 中的工具箱
适用于静态布局 适用于动态布局