【发布时间】:2010-08-27 13:42:21
【问题描述】:
我有一个扩展 System.Web.UI.UserControl 的自定义控件。是否可以从这个自定义控件继承用户控件?
【问题讨论】:
我有一个扩展 System.Web.UI.UserControl 的自定义控件。是否可以从这个自定义控件继承用户控件?
【问题讨论】:
只要您没有将控件标记为sealed,您就可以从中继承并创建使用已编写功能的其他用户控件。
只要UserControl 是继承链的一部分,一切都应该如您所愿。
【讨论】:
是的。只需在用户控件的代码隐藏中替换您的自定义 UserControl 类。所需要的只是基本用户控件源自您所描述的System.Web.UI.UserControl。
public partial class MyUserControl : MyBaseUserControl
{
// ...
}
如果您不使用代码隐藏,您可以使用<%@ Control %> 指令中的Inherits 属性来指定基类。
【讨论】:
是的,事实上非常有用,因为您可以通过这个继承的自定义控件为所有控件提供通用方法。这是我们商店的标准做法,即没有控件直接从 System.Web.UI.UserControl 继承,而是从我们公共库中的扩展控件继承。
【讨论】: