自定义控件的CreateChildControls问题

时间:2010-09-23 15:10:40

标签: c# asp.net custom-controls

我有一个自定义控件,可以在CreateChildControls上创建一个文本框。

我正在尝试在使用自定义控件的页面的load事件上设置此文本框的值(通过控件的属性)。不幸的是,此时CreateChildControls尚未执行,文本框为空。

我在使用自定义控件属性之前在使用者页面上调用了EnsureChildControls,但没有运气,仍为null。

当不回发时会发生这种情况。

1 个答案:

答案 0 :(得分:1)

您需要从自定义控件的属性getter中调用EnsureChildControls,以确保在访问嵌套控件之前构建它。如果这不能帮助发布一些代码,那么我们可以看到你在做什么。

Public string Text
{
   get
   {
      EnsureChildControls();
      return textBox1.Text;
   }
   set
   {
      EnsureChildControls();
      textBox1.Text = value;
   }
}