我有一个自定义控件,可以在CreateChildControls上创建一个文本框。
我正在尝试在使用自定义控件的页面的load事件上设置此文本框的值(通过控件的属性)。不幸的是,此时CreateChildControls尚未执行,文本框为空。
我在使用自定义控件属性之前在使用者页面上调用了EnsureChildControls,但没有运气,仍为null。
当不回发时会发生这种情况。
答案 0 :(得分:1)
您需要从自定义控件的属性getter中调用EnsureChildControls,以确保在访问嵌套控件之前构建它。如果这不能帮助发布一些代码,那么我们可以看到你在做什么。
Public string Text
{
get
{
EnsureChildControls();
return textBox1.Text;
}
set
{
EnsureChildControls();
textBox1.Text = value;
}
}