Asp.net自定义控件:概念

以下的内容是本人从微软的网站上摘录下来的

ASP.NET 服务器控件是直接或间接从 System.Web.UI.Control 派生的类,下面两个类是 ASP.NET 服务器控件的基类

·System.Web.UI.Control

Control 类定义了所有 ASP.NET 服务器控件共有的属性、方法和事件。其中包括控制控件执行生命周期的方法和事件,以及 ID、UniqueID、Parent、ViewState 和 Controls(子控件集合)等属性。Control 没有用户界面 (UI) 特定的任何功能。如果创作的控件没有提供 UI,或者组合了其他呈现其自己的 UI 的控件,则从 Control 派生。


·System.Web.UI.WebControls.WebControl

WebControl 类是从 Control 派生的,并为 UI 功能提供附加的属性和方法。这些属性包括 ForeColor、BackColor、Font、BorderStyle、Height 和 Width。WebControl 是 ASP.NET 中 Web 服务器控件系列的基类。如果控件呈现 UI,则从 WebControl 派生 .根据控件的功能,可能必须实现一个或多个以下接口。

·System.Web.UI.INamingContainer


INamingContainer 是一个没有任何方法的标记(空)接口。当用控件实现此接口时,ASP.NET 页框架将在此控件下创建新的命名范围。这确保了子控件在控件层次结构树中具有唯一的 ID。如果控件是提供数据绑定的复合控件(它包含子控件),或者控件是模板化控件,或者控件需要将事件路由到其子控件,则控件必须实现 INamingContainer 接口。Repeater 控件和其他数据绑定控件就是这样的例子。

·System.Web.UI.IPostBackDataHandler


如果控件需要检查回发数据,并基于数据更改更新其状态或者在服务器上引发事件,则控件必须实现 IPostBackDataHandler 接口。TextBox 控件就是一个这样的例子,该控件检查发送的文本值,当文本更改时,就会更新其 Text 属性并引发 TextChanged 事件。

·System.Web.UI.IPostBackEventHandler


如果控件捕获客户端的回发事件,并且通过处理该事件或者在服务器上引发事件进行响应,则必须实现 IPostBackEventHandler 接口。Button 控件就是一个这样的例子,该控件捕获窗体提交并在服务器上引发 Click 事件

原文地址:https://www.cnblogs.com/shengel/p/1256283.html