2010-09-23 64 views
0

我有一个自定义控件在CreateChildControls上创建一个文本框。CreateChildControls问题与自定义控件

我想在使用自定义控件的页面的加载事件中设置此文本框的值(通过控件的属性)。不幸的是,在这一点上,CreateChildControls尚未执行,文本框为空。

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

发生这种情况不是回发。

回答

1

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

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

这样做。谢谢! – StackOverflower 2010-09-23 15:31:31