5

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

换句话说,如果我使用 ITemplate 接口开发模板控件,是否有办法将其连接起来(就像 UpdatePanel 似乎一样),以便(以声明方式)包含的任何控件也可以从包含页面访问?

4

1 回答 1

7

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

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

来自 MSDN:

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

于 2010-02-10T14:44:07.293 回答