Pregunta

Cuando se añade un control a un UpdatePanel, todavía puede ser accedida desde el código detrás de la página que contiene. ¿Cómo se logra esto? ¿Pueden los desarrolladores de controles personalizados hacer lo mismo?

En otras palabras, si desarrollo un control de plantilla mediante la interfaz de ITemplate, hay una manera de cablear hacia arriba (como el UpdatePanel parece) de modo que cualquier control contenidos dentro de (declarativa) se puede acceder desde la página que contiene también ?

¿Fue útil?

Solución

Se puede añadir un TemplateInstanceAttribute en ITemplate su propiedad para lograr esto, tiene el efecto de promover los controles a nivel de página:

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

A partir de MSDN:

  

La clase TemplateInstanceAttribute le permite marcar una propiedad plantilla como uno que permite instancias únicas o múltiples. Una plantilla que sólo permite un único instanciación puede tener los controles que están contenidos dentro de ella se hace referencia. La propiedad ZoneTemplate es un ejemplo de una propiedad que puede ser instanciada sólo una vez.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top