从用户控件继承的ASP.NET用户控件生成空引用

Cal*_*vin 3 asp.net inheritance webusercontrol

这一定是一个常见的问题.

  • 用户控件A有一个TextBox T.
  • 用户控件B继承自用户控件A.
  • 用户控件B放在页面P上.

在页面P的Page_Load事件期间,如果您尝试访问TextBox T,您将发现它为空.

有一个优雅的解决方案吗?

Gre*_*som 7

从UserControls继承UserControls不是一个好策略.父UserControl中的元素将不会呈现 - 这就是TextBox为null的原因.

更好的选择是将UserControl A包含在UserControl B中 - 这样,UserControl A的元素可以在其他UserControl上重用.

看看这篇关于继承UserControls的帖子 - 如何(如果有的话)使ASP.NET UserControl继承自另一个UserControl?.