当控件添加到UpdatePanel时,仍然可以从包含页面后面的代码访问它。这是如何实现的?自定义控件开发人员可以这样做吗?
换句话说,如果我使用ITemplate接口开发模板控件,是否有一种方法可以将其连接起来(如UpdatePanel似乎),以便可以从包含页面访问(声明性地)包含的任何控件?
答案 0 :(得分:7)
您可以在ITemplate属性上添加TemplateInstanceAttribute来实现此目的,它可以将控件提升到页面级别:
[TemplateInstance(TemplateInstance.Single)]
public ITemplate AnonymousTemplate {
get { ... }
set { ... }
}
来自MSDN:
TemplateInstanceAttribute类允许您将模板属性标记为允许单个或多个实例化的属性。仅允许单个实例化的模板可以引用其中包含的控件。 ZoneTemplate属性是一个只能实例化一次的属性的示例。