开发自定义控件

来源:互联网 发布:积分怎么编程 编辑:程序博客网 时间:2024/06/05 07:24

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

  • System.Web.UI.Control

     

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

  • System.Web.UI.WebControls.WebControl

     

    WebControl 类是从 Control 派生的,并为 UI 功能提供附加的属性和方法。这些属性包括 ForeColorBackColorFontBorderStyleHeightWidthWebControl 是 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 事件。有关详细信息,请参见捕获回发事件

 

可以重写从基类继承的属性、方法和事件,并可以将新的属性、方法和事件添加到自定义控件中。

原创粉丝点击