Foros del Web » Programación para mayores de 30 ;) » .NET »

Simple pregunta de un ImageButton

Estas en el tema de Simple pregunta de un ImageButton en el foro de .NET en Foros del Web. ¿Cómo activo el evento click de un Image Button embebido en un grid? Este objeto está en un itemtemplate del grid y se llena dinámicamente ...
  #1 (permalink)  
Antiguo 14/04/2005, 17:25
 
Fecha de Ingreso: diciembre-2003
Ubicación: WWW
Mensajes: 98
Antigüedad: 20 años, 4 meses
Puntos: 0
Pregunta Simple pregunta de un ImageButton

¿Cómo activo el evento click de un Image Button embebido en un grid? Este objeto está en un itemtemplate del grid y se llena dinámicamente de una base de datos.


Lo que deseo hacer es que cuando el usuario presione ese objeto en el grid, lo lleve a otra página pasando por la url el código de ese item que seleccionó.

Pero de esto lo único que necesito saber es ¿Cómo activo el evento click de un Image Button embebido en el grid?

Traté de hacer esto pero no me resulta:
Código:
Dim Item As DataGridItem
Item = grid.Items(e.Item.ItemIndex)
Dim img As ImageButton = Item.FindControl("IBInmueble")
Cualquier opinión será bien recibida...
__________________
"No nos atrevemos a muchas cosas porque son difíciles, pero son difíciles porque no nos atrevemos a hacerlas" :si:

Séneca
  #2 (permalink)  
Antiguo 14/04/2005, 21:11
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Y no es mas fácil que le asignes un command name a tu boton desde el modo design de tu datgrid..


Me imagino que por ésto:

... Item.FindControl("IBInmueble")

quere decir que tienes un imagebutton dentro del grid o no..??

Si es así podrías hacer ésto:

Cita:
<asp:DataGrid id="DataGrid1" runat="server">
...
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Button ID="IBInmueble" Runat=server CommandName="myButton"></asp:Button>
</ItemTemplate>
</asp:TemplateColumn>
....
....
</Columns>

</asp:DataGrid>
Y en tu codebehind el el itemcommand saber quien es el command que lo manda a llamar...

ejemplo:

Cita:
Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs ) Handles DataGrid1.ItemCommand
If e.CommandName = "myButton" Then
'mi codigo

End If
End Sub
Salu2 y espero haber sido claro
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 15/04/2005, 06:26
 
Fecha de Ingreso: diciembre-2003
Ubicación: WWW
Mensajes: 98
Antigüedad: 20 años, 4 meses
Puntos: 0
¡Hola RootK!

Sabes? Traté de hacer lo que me dices pero no se activó el evento. ¿Cómo se activa el evento grid_ItemCommand?>
__________________
"No nos atrevemos a muchas cosas porque son difíciles, pero son difíciles porque no nos atrevemos a hacerlas" :si:

Séneca
  #4 (permalink)  
Antiguo 15/04/2005, 07:00
 
Fecha de Ingreso: diciembre-2003
Ubicación: WWW
Mensajes: 98
Antigüedad: 20 años, 4 meses
Puntos: 0
¿Saben qué? Se me ocurrió que en vez de usar un image button, usar un Hyperlink control en un itemtemplate colum. Hice esto:

<asp:HyperLink id="HyperLink2"
runat="server"
Width="40px" Height="32px"
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ruta")%> '
NavigateUrl='<%# "PresentaInmueble.aspx?" &amp; "Codigo=" &amp; Container.DataItem("CodigoI") &amp; "&amp;Sec=" &amp; Container.DataItem("CodSec") &amp; "&amp;Reasignado=1" %>'></asp:HyperLink>

Con esto cargo las imágenes dinámicamente desde la base de datos y a la vez puedo llamar otra página pasando por la url los criterios que necesito.

Los campos que uso en Container.DataItem son aquellos que me devuelve un select que hago en el code behind de la página en un procedure que desarrollé.

Muchísimas gracias de todos modos y espero que esto le sirva a otra persona que tenga alguna inquietud parecida...
__________________
"No nos atrevemos a muchas cosas porque son difíciles, pero son difíciles porque no nos atrevemos a hacerlas" :si:

Séneca
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:54.