Comunicación User Controls ASCX

27/07/2007 - 11:28 por Alhambra Eidos Kiquenet | Informe spam
Hola a todos,

tengo una aplicación web que utiliza ASCX. Tengo una página que tiene varios
ASCX: un user control padre P, que contiene dos user controls hijos: H1 y H2.

La cuestión es que en H1 hay un botón con u n evento Click asociado que
llama al servidor para refrescar datos. En H2 hay un datalist.

Quería refrescar los datos de H2 cuando se pulse el botón en H1.

Cómo puedo detectar desde H2 que se ha pulsado el botón en H1 y así
refrescar en ese momento el datalist ?

Puedo saber desde el user control H2 el origen del postback (el origen sería
el botón de H1) ???

Metiendo una variable en session podría funcionar, pero quería saber si
existen otra opciones. Quizá con HttpContext, Cache, etc...

Agradecería cualquier sugerencia.
Gracias. Saludos.

http://www.alhambra-eidos.es/web2005/index.html
www.kiquenet.net
 

Leer las respuestas

#1 Alberto Poblacion
27/07/2007 - 11:39 | Informe spam
"Alhambra Eidos Kiquenet"
wrote in message news:
tengo una aplicación web que utiliza ASCX. Tengo una página que tiene
varios
ASCX: un user control padre P, que contiene dos user controls hijos: H1 y
H2.

La cuestión es que en H1 hay un botón con u n evento Click asociado que
llama al servidor para refrescar datos. En H2 hay un datalist.

Quería refrescar los datos de H2 cuando se pulse el botón en H1.

Cómo puedo detectar desde H2 que se ha pulsado el botón en H1 y así
refrescar en ese momento el datalist ?



Lo más elegante, para respetar la estructura de controles, sería pasar
de H1 a H2 a través del contenedor P, es decir, que P contenga una rutina de
eventos conectada a su control hijo H1 (que lógicamente deberá hacer
"public" un evento con el Click), y dentro de esa rutina llamar al método
Refrescar de H2 (que lógicamente habrá que crear y hacerlo "public"). En
otras palabras, exactamente lo mismo que harías si H1 y H2 no fueran
controles de usuario sino que fueran controles estándard de asp.net.

Preguntas similares