这一定是个常见问题。
在页面P的Page_Load事件期间,如果您尝试访问TextBox T,您会发现它为空。
对此有优雅的解决方案吗?
答案 0 :(得分:7)
从UserControls继承UserControls不是一个好策略。父UserControl中的元素将不会被渲染 - 这就是您的TextBox为空的原因。
更好的选择是将UserControl A包含在UserControl B中 - 这样,UserControl A的元素可以在其他UserControl上重复使用。
看看这篇关于继承UserControls的帖子 - How (if at all) can you make an ASP.NET UserControl inherit from another UserControl?。
答案 1 :(得分:1)
控件B的ASCX是否包含文本框T?它需要为了使文本框T不为空。如果controlB不包含文本框T,则后面代码中声明的属性不会绑定到任何前端控件,因此保持为空。