2012-07-30 56 views
4

我有一个嵌套的用户控件层次结构,并且发现其中一个嵌套用户控件中的所有本机控件在其Page_Load事件处理程序中都为NULL。嵌套用户控件的控件为空

这里是我的布局:

Page 
    UserControl1 
     telerik:RadMultiPage 
      telerik:RadGrid 
       NestedViewTemplate 
        UserControl2 

在UserControl2的Page_Load中的处理程序,所有的本地控制是NULL。我无法解决原因。我猜这是与它嵌套在网格中的事实有关。不确定最好的解决方法。

+0

如果您使用缓存,则控件可以为空,因为缓存是直接呈现html并且根本不加载控件。 – Aristos 2012-07-30 17:51:23

回答

5

看来它与我的注册指令有关,它是由Resharper添加的。

我已经改变了:

<%@ Register TagPrefix="uc1" Namespace="My.Namespace" Assembly="My.Assembly" %> 

要更加明确:

<%@ Register src="UserControl2.ascx" tagname="MyUserControl2" tagprefix="uc1" %> 

这似乎已经解决了。页面上实际上有很多标签,因此寄存器的命名空间版本可能不够明确,并且它与另一个标签中的控件混淆。