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

是否有比findcontrol()更好的方法访问itemplate中的控件?

  •  5
  • James  · 技术社区  · 16 年前

    将控件添加到UpdatePanel时,仍然可以从包含该控件的页后面的代码访问该控件。这是如何实现的?自定义控件开发人员也可以这样做吗?

    换句话说,如果我使用i template接口开发一个模板控件,是否有一种方法将其连接起来(就像updatepanel看起来那样),以便也可以从包含的页面访问(声明性地)中包含的任何控件?

    1 回复  |  直到 16 年前
        1
  •  7
  •   Nick Craver    16 年前

    您可以添加 TemplateInstanceAttribute 在要实现此目的的ItemPlate属性上,它具有将控件提升到页面级别的效果:

    [TemplateInstance(TemplateInstance.Single)]
    public ITemplate AnonymousTemplate {
      get { ... }
      set { ... }
    }
    

    来自msdn:

    TemplateInstanceAttribute类允许您将模板属性标记为允许单个或多个实例化的属性。仅允许单个实例化的模板可以引用包含在其中的控件。ZoneTemplate属性是一个只能实例化一次的属性示例。