Problema con ImageButton

25/10/2006 - 23:35 por Diego Guevara | Informe spam
Hola grupo !!

Tengo una duda.. estoy generando una serie de ImageButtons de manera dinamica,
pero no he podido ligarlos a ningún evento, siempre me aparece que el método
no esta definido.este es mi código (Asp.net 2.0) en Vb:


Dentro del Page_Load:

'Esto va en un ciclo for

ibtn = New ImageButton()
ibtn.ID = "ibtn" + strNombreMod
ibtn.CommandName = "ibtn"
ibtn.ImageUrl = objGeneral.Config("Host") + "Intranet/Styles/ImgGenerales/"
+ strNombreMod + ".png"
ibtn.OnClientClick = "Funcion"
'''''
Fuera del Page_Load :

Protected Sub Funcion(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.CommandEventArgs)
Handles ibtn.Command
Select Case sender.ID
Case "ibtnmodusuarios"
Server.Transfer("~/Intranet/mod_usuarios/consulta.aspx",
False)
Case "ibtnmodcontactos"
Server.Transfer("~/Intranet/mod_contactos/consulta.aspx",
False)
End Select
End Sub


¿Que puedo hacer para que detecte el click en el itbn (ImageButton)?

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion [MVP]
26/10/2006 - 08:14 | Informe spam
"Diego Guevara" wrote in message
news:
Dentro del Page_Load:
ibtn = New ImageButton()
[...]
ibtn.OnClientClick = "Funcion"
[...]
¿Que puedo hacer para que detecte el click en el itbn (ImageButton)?



Crea el ibtn en el Page_Init en lugar del Page_Load.
Respuesta Responder a este mensaje
#2 Octavio Telis Aynés
26/10/2006 - 08:44 | Informe spam
Hola...

Bueno... aunque el grupo no es precisamente de VB sino de C#, te puedo
recomendar lo siguiente:

Cada que agregues un botón... puedes asignarle dinámicamente un evento con
la instrucción AddHandler, el detalle está en que podrías usar Métodos
Anónimos, sin embargo en VB no están definidos (hasta donde se) y bueno
tendrás que apuntar hacia un método ya definido con la firma del delegado
del evento del botón.

Viendo tu ejemplo, podrías intentar algo como esto:

En lugar de:

ibtn.OnClientClick = "Funcion"

Utiliza

AddHandler ibtn.Click, AddressOf Funcion

Por cierto, la propiedad OnClientClick se refiere a la ejecución de código
del lado del cliente, esto es; alguna función de javascript con el nombre
Funcion que esté declarada en la página en cuestión.

Espero te sea de utilidad.

Saludos...

Octavio Telis Aynés
http://otelis.blogspot.com


"Diego Guevara" escribió en el mensaje
news:
Hola grupo !!

Tengo una duda.. estoy generando una serie de ImageButtons de manera
dinamica, pero no he podido ligarlos a ningún evento, siempre me aparece
que el método no esta definido.este es mi código (Asp.net 2.0) en Vb:


Dentro del Page_Load:

'Esto va en un ciclo for

ibtn = New ImageButton()
ibtn.ID = "ibtn" + strNombreMod
ibtn.CommandName = "ibtn"
ibtn.ImageUrl = objGeneral.Config("Host") +
"Intranet/Styles/ImgGenerales/" + strNombreMod + ".png"
ibtn.OnClientClick = "Funcion"
'''''
Fuera del Page_Load :

Protected Sub Funcion(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.CommandEventArgs) Handles ibtn.Command
Select Case sender.ID
Case "ibtnmodusuarios"
Server.Transfer("~/Intranet/mod_usuarios/consulta.aspx",
False)
Case "ibtnmodcontactos"
Server.Transfer("~/Intranet/mod_contactos/consulta.aspx",
False)
End Select
End Sub


¿Que puedo hacer para que detecte el click en el itbn (ImageButton)?


Respuesta Responder a este mensaje
#3 Alberto Poblacion [MVP]
26/10/2006 - 09:36 | Informe spam
"Alberto Poblacion [MVP]"
wrote in message news:%23Jhd9XM%
"Diego Guevara" wrote in message
news:
Dentro del Page_Load:
ibtn = New ImageButton()
[...]
ibtn.OnClientClick = "Funcion"
[...]
¿Que puedo hacer para que detecte el click en el itbn (ImageButton)?



Crea el ibtn en el Page_Init en lugar del Page_Load.



Ah, y se me ha olvidado: Si quieres eventos en lado servidor, no es el
OnClientClick el que tienes que asignar, sino el Click:

ibtn.Click += new EventHandler(Funcion);
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida