UserControl继承自另一个UserControl

时间:2009-07-22 18:34:59

标签: asp.net user-controls

我有一个UserControl提供一些功能(加载并显示客户端的信息),我想扩展UserControl。某些表单需要普通的旧UserControl,而其他表单则需要一些额外的字段。如何从现有的UserControl继承,维护现有字段,同时添加新字段?

我喜欢MasterPages的工作方式,您可以在其中定义占位符,然后内容页面只会为这些占位符填充额外的内容。 UserControls可以实现吗?谢谢!

2 个答案:

答案 0 :(得分:1)

也许您可以在UserControl中定义一些ASP:PlaceHolders(将其视为“区域”),并通过公共(或受保护,如果您只希望继承的类能够更改它们)属性使它们可用。这样,您可以随时添加子控件。

protected PlaceHolder TopZone {
   get { return plhTop; }
}


protected PlaceHolder BottomZone {
   get { return plhBottom; }
}

从一个继承的UserControls:

Label lblTest = new Label { Text = "Hello World!" };
TopZone.Controls.Add(lblTest);

这是一个非常好的基本例子,我希望它对你有用。

答案 1 :(得分:1)

我最终使用嵌套的MasterPages作为我的UserControls(因为它们从UserControl继承)。然后我只是调用this.LoadControl(“〜/ mp.master”)并且瞧,我已经嵌套了UserControls并获得了完整的设计时支持。 :)