我有一个UserControl提供一些功能(加载并显示客户端的信息),我想扩展UserControl。某些表单需要普通的旧UserControl,而其他表单则需要一些额外的字段。如何从现有的UserControl继承,维护现有字段,同时添加新字段?
我喜欢MasterPages的工作方式,您可以在其中定义占位符,然后内容页面只会为这些占位符填充额外的内容。 UserControls可以实现吗?谢谢!
答案 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并获得了完整的设计时支持。 :)