代码之家  ›  专栏  ›  技术社区  ›  Earlz

调用EnsureChildControls()后,所有控件仍为空?

  •  0
  • Earlz  · 技术社区  · 14 年前

    按照此页面的布局方式,所有数据都加载在 Page_Init . 不过,我有一个自定义控件与此有问题。

    我把它写在页面上,就像这样:

    <cc:SomeControl... />
    

    然后我用

    MyControl.Value="blah";
    

    简单的东西…

    这个 Value 是访问器,具有类似于此的内容:

    public string Value{
      get...
      set{
        EnsureChildControls();
        MyHiddenField.Value=value;
      }
    }
    

    就在这里,我有一个问题。它说 MyHiddenField 是空的。是 帕吉尔尼特 就这么早?或者有其他功能需要调用吗?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Earlz    14 年前

    修复方法正在从使用命名空间引用CustomControl更改为使用 src 用文件名

    改变这一点:

    <%@ Register Assembly="MyProduct" Namespace="MyProduct.CustomControls" TagPrefix="cc" %>
    

    对此:

    <%@ Register src="/CustomControls/MyControl.ascx" tagname="MyControl" tagprefix="uc2" %>