ASP.NET - Problema Carga dinámica

   
Vista:

Problema Carga dinámica

Publicado por José Carlos (16 intervenciones) el 29/07/2008 10:15:37
Hola:
Voy a intentar explicar mi problema, tengo un control de usuario 'c.ascx' con botones y label's que cargo dinámicamente en el Load de una página. Lo cargo de la forma siguiente: en la página tengo un control Panel y en él cargo dinámicamente controles UpdatePanel en el que previamente he cargado (también dinámicamente) mi control de usuario. Esta operación se realiza cada vez que se hace Page_Load, pero cada vez puede haber un nº difrente de ellos, Mi problema es que el Panel base no se vacía (ni con panel.controls.clear ni de ninguna otra forma) con lo que se llega a la siguiente incoherencia:
por ejemplo. PageLoad y cargo 10 controles --> borro el primero (apretando un botón del mismo)--> vuelve a hacer PageLoad cargando 9, pero dibujando 10, en está situación aprieto un botón de lo que debería ser el primero de los 9 y como hay 10 dibujados, el servidor me interpreta que he apretado el botón del segundo y opera con los datos que tendría el segundo.

¿Cómo hago que en cada carga pinte los que yo quiero que pinte y ninguno más?
¿Qué otra(s) soluciones veis?

Muchas Gracias por vuestra ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema Carga dinámica

Publicado por x (445 intervenciones) el 30/07/2008 16:00:13
Si no me equivoco, eso es por que, como el Load se efectua antes que el evento Click, para cuando tu elimines el control, este ya habra sido tomado en cuenta a la hora de "dibujarse" en el Load (que en ese momento aun no habia sido eliminado). Si es que esto es cierto, puedes repetir el cargado de controles (non sin antes eliminarlos del contenedor) despues de realizar la eliminacion, tal y como lo haces en el Load, o bien, si no quieres repetir dos veces la misma operacion (el cargado de controles), utilizar un hidden field, en el cual, durante el clic de tu boton, mediante JavaScript, lo llenas con informacion que a ti te sirva para que, durante el Load, antes de cargar los controles, elimines el indicado.

Espero y te sirva de algo (suponiendo que ese es el escenario) dado que son las unicas soluciones que de momento se me ocurren.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar