ASP.NET - Manejador de eventos en controles dinamicos

   
Vista:

Manejador de eventos en controles dinamicos

Publicado por Laure (46 intervenciones) el 16/12/2008 18:04:31
Hola a todos.
Os escribo para ver si por favor me podeis ayudar. Estoy completamente desesperada.
Tengo varios controles de usuarios que creo dinámicamente y agrego a un panel de un formulario. Esto lo hace correctamente.
El problema es cuando me creo un manejador de eventos para ese control, ya que nunca se ejecuta.
El código es el siguente:

ESTO VA DENTRO DEL CONTRO LDE USUARIO

Private Shared ReadOnly EventSubmitKey As New Object()

Public Custom Event Submit As EventHandler
AddHandler(ByVal value As EventHandler)
Events.AddHandler(EventSubmitKey, value)
End AddHandler
RemoveHandler(ByVal value As EventHandler)
Events.RemoveHandler(EventSubmitKey, value)
End RemoveHandler
RaiseEvent(ByVal sender As Object, ByVal e As System.EventArgs)
CType(Events(EventSubmitKey), EventHandler).Invoke(sender, e)
End RaiseEvent
End Event

Public Sub OnSubmit(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles up1_1.Click
Dim submitHandler As EventHandler = CType(Events(EventSubmitKey), EventHandler)
If submitHandler IsNot Nothing Then submitHandler(Me, e)
End Sub

ESTO DESDE LA PÁGINA PRINCIPAL

'Donde creo y añado el control
Dim MIcontrol As Usercontrols_pregunta =CType(Page.LoadControl("UserControlspregunta.ascx"), Usercontrols_pregunta)
AddHandler Micontrol.Submit, AddressOf Validar
panel_preg.Controls.Add(Micontrol)
panel_preg.EnableViewState = True

'El manejador de eventos es este
Private Sub Validar(ByVal sender As Object, ByVal e As System.EventArgs) 'Handles controlPregunta.Submit
'Response.Write(sender.id)
End Sub

Por favor, cualquier sugerencia me vendría muy bien ,ya que estoy muy desesperada y no he parado de buscar en foros.
Gracias.
Saludos
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:Manejador de eventos en controles dinamicos

Publicado por x (445 intervenciones) el 16/12/2008 19:40:07
El manejador de evento funciona si el control lo colocas en tiempo de diseño y no cargandolo dinamicamente?
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

RE:Manejador de eventos en controles dinamicos

Publicado por Laure (46 intervenciones) el 17/12/2008 09:50:42
Hola x.
Gracias por contestar.
Pues en diseño si que funciona correctamente. ¿Se os ocurre alguna idea de por qué puede ser que no funciones? Estoy completamente desesperada. Ayer perdí un día entero de trabajo buscando soluciones y veo que hoy va a ser igual y lo peor de todo es estoy muy justa de tiempo.
Gracias.
Saludos
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

RE:Manejador de eventos en controles dinamicos

Publicado por x (445 intervenciones) el 18/12/2008 00:30:43
Estas utilizando UpdatePanels o no? Hare unas pruebas a ver si es que funciona con algo que se parezca a lo que posteaste. Nos leemos y espero ya no sea necesario.
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

RE:Manejador de eventos en controles dinamicos

Publicado por Laure (46 intervenciones) el 23/12/2008 17:47:36
Hola chicos, muchas gracias por todo.
Ahora el problema que tengo es que me he creado mi propio control con mi propio evento, y necesito controlarlo desde la página principal, en concreto cada control de usuario tiene un botón para subir/bajar su posición. En la pagína principal cargo todos los controles de usuarios como si fueran una lista. La primera vez que ejecuto el evento todo ok, pero la siguiente ya no ejecuta el evento. La siguiente vez si, y despues no y así todo el rato.
Si pulso un botón que lo único que haga se una postback después de la vez que si me funciona el evento la siguiente vez si funciona bien. El evento del control se realiza después del PageLoad y lo que pasa es que no funciona el evento si la vez anterior el control cambió entre el Load y el LoadComplete (el evento del control que cambió el orden se ejecuta entre el Load y LoadComplete), incluso he puesto trazas para ver por donde pasa y no pasa por el evento.
Estoy desesperada, hasta incluso he recurrido a la ayuda de un consultor externo y no ha sabido ayudarme.
¿Alguien sabe por que?
Muchas gracias.
Saludos
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

RE:Manejador de eventos en controles dinamicos

Publicado por x (445 intervenciones) el 27/12/2008 01:47:10
No sera que el manejador de evento lo estas asignando solo una vez y no en cada PostBack?
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

RE:Manejador de eventos en controles dinamicos

Publicado por Laure (46 intervenciones) el 29/12/2008 11:06:37
Hola x.
Muchisismas, muchisimas gracias x.
No he podido contestar porque he estado unos días fuera sin internet, desconectar me ha venido muy bien, pero por desgracia, no me ha "iluminado" con mi problema.
En el form load hago una llamada a una función para que vuelva a dibujar los controles dinámicos, y estos se vuelven a cargar y he comprobado que pasa por el AddHandler. Al pulsar un icono que tiene postback, debería ir al handler, pero unas veces va y otras no. En concreto, una vez si, y otra no, no ejecuta el evento asociado.
Estoy completamente desesperada. Apenas tengo tiempo, y este consultor me ha recomendado usar un datarepeater, control que yo nunca he usado, y el problema que tengo es que en realidad sería el uso de 3 controles de usuario anidados entre sí, pudiendose que el del ultimo nivel vaya asociado al nivel segundo o al del nivle primero directamente.
Muchísimas, muchísimas gracias
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

RE:Manejador de eventos en controles dinamicos

Publicado por x (445 intervenciones) el 29/12/2008 19:50:10
mmm pues si no tienes problema con ello, este es mi correo mrcs_jvc [arroba] hotmail [punto] com
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

RE:Manejador de eventos en controles dinamicos

Publicado por Laure (46 intervenciones) el 30/12/2008 11:23:59
Hola
Muchas gracias por pasarme tu correo.
Te mandé un mail.
Gracias de nuevo
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