2009-07-22 151 views
1

我有一个UserControl提供一些功能(加载和显示客户端的信息),我想扩展该用户控件。有些形式需要普通的旧UserControl,而其他形式则需要一些额外的字段。我如何从现有的UserControl继承,维护现有的领域,但也添加新的领域?用户控件从另一个用户控件继承

我喜欢MasterPages的工作方式,您定义占位符的地方,然后内容页面只是为这些占位符添加额外的内容。这可能与UserControls?谢谢!

回答

1

我结束使用嵌套的MasterPages作为我的UserControls(因为他们继承自UserControl)。然后我只是调用this.LoadControl(“〜/ mp.master”)和瞧,我嵌套用户控件完整的设计时支持。 :)

1

也许你可以在你的UserControl中定义几个ASP:PlaceHolders(把它看作“区域”),并通过public(或者protected,如果你只希望继承类可以改变它们)属性来使它们可用。这样,您可以随时为他们添加子控件。

protected PlaceHolder TopZone { 
    get { return plhTop; } 
} 


protected PlaceHolder BottomZone { 
    get { return plhBottom; } 
} 

从继承用户控件之一:

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

这是一个基本的verrry例如,我希望这是对你有用的。

+0

这与我现在正在使用的方法非常相似,但它不提供与MasterPages所提供的功能相同的级别,并且难以维护。 :( – 2009-07-23 13:09:59