很多情况下,你并不需要从头开始创建一个新控件。有些功能也许在 ASP.NET 的 Web 控件的基本集合中已经存在了。所有这些控件都是普通类,你可以组合它们(使用其他类的实例来创建一个新类)或者继承它们(扩展一个现存类和改变它的功能来创建一个新类)

      

组合控件

       ASP.NET 提供了这样一个功能,即允许你从其他现存的 Web 控件构建你的控件类。

       基本的技巧是从类 System.Web.UI.WebControls.CompositeControl (它自身继承 WebControl)派生一个新类。然后,必须覆盖 CreateChildControls()方法来添加子控件。此时,你可以创建一个或多个控件对象,设置它们的属性和事件处理程序,最后把它们加入到当前控件的 Controls 集合中。这种方式最大的优点在于你根本不需要定制呈现代码,呈现工作被委托给了作为组成部件的服务器控件,你也不需要担心触发回传和获取回传数据等细节,因为子控件自身会处理这些细节

 

       下面创建一个 TitledTextBox 控件,这个控件组合一个 Lable 和 一个 TextBox:

class TitledTextBox : CompositeControl
{ ... }

相关文章:

  • 2021-10-30
  • 2022-12-23
  • 2022-12-23
  • 2021-09-26
  • 2021-12-13
  • 2021-07-30
  • 2022-12-23
猜你喜欢
  • 2021-10-16
  • 2022-12-23
  • 2021-12-01
  • 2021-07-22
  • 2021-11-18
  • 2021-10-19
相关资源
相似解决方案