如果ChildsControlsCreated更改为true,我正在尝试检查控件以进行更改。我怎么做?我试过......
if (tempControl.ChildControlsCreated == false)
{
//do something
}
没有运气。还有其他想法吗?
答案 0 :(得分:0)
如果您正在实现自己的控件,或者您正在重用框架中的控件,则可以考虑覆盖方法CreateChildControls
在您编写自己的控件的情况下,您只需:
protected override void CreateChildControls() {
// Add a LiteralControl to the current ControlCollection.
this.Controls.Add(new LiteralControl("<p>New Child Control!</p>"));
ChildControlsCreated = true;
}
如果您正在重复使用其他人的控件,只要它可以覆盖,您可以执行以下操作:
public MyControl : SomeControl
{
protected override void CreateChildControls() {
base.CreateChildControls();
ChildControlsCreated = true;
}
}
请注意,在这两种情况下,您现在可以控制何时设置ChildControlsCreated。因此,您可以将此概念扩展为向控件实现添加事件,在设置值时会触发该事件,让任何订阅者知道已创建子控件。