Foros del Web » Programando para Internet » ASPX (.net) »

Hay manera de agregar atributo onClick que ejecute server script???

Estas en el tema de Hay manera de agregar atributo onClick que ejecute server script??? en el foro de ASPX (.net) en Foros del Web. Hola, ya tenia rato de no dar lata aqui en el foro hehe Necesito agregar el atributo onClick a cada fila generada por el grid, ...
  #1 (permalink)  
Antiguo 02/08/2010, 09:58
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años, 9 meses
Puntos: 0
Hay manera de agregar atributo onClick que ejecute server script???

Hola, ya tenia rato de no dar lata aqui en el foro hehe

Necesito agregar el atributo onClick a cada fila generada por el grid, y que pueda ejecutarme una funcion o procedimiento del lado del servidor al darle click a cualquier fila.

La funcionalidad basimente es la siguiente, que el usuario al darle click en una fila, se haga una llamada a la base de datos con el valor de la fila que se le dio click, y se actualize el gridview

Hasta ahorita lo estaba haciendo de la siguiente manera

Código ASP:
Ver original
  1. Protected Sub gvInscritos_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvInscritos.RowDataBound
  2.         If e.Row.RowType = DataControlRowType.DataRow Then                                
  3.                 e.Row.Attributes.Add("onClick", "RowClick(" & e.Row.DataItem("IDPROSPECTO") & ")")                        
  4.             End If
  5.         End If
  6.     End Sub
  7.  
  8. <WebMethod()> _
  9.     Public Shared Sub prueba(ByVal idProspecto As Integer)
  10.         'Me conecto con la base de datos
  11.     End Sub
Código Javascript:
Ver original
  1. function RowClick(idProspecto) {      
  2.                 PageMethods.prueba(idProspecto);
  3.             }
Hasta aqui no habia ningun problema, me estaba funcionando perfectamente, pero me tope con el problema de que no puedo hacer databind a mi grid, ya que solo puedo acceder a partes del codigo que sean Shared

Mi duda o pregunta es si existe una forma parecida al Atributte.add que me ejecute una funcion del lado del servidor?? y si no lo hay, existe alguna forma que me pueda solucionar mi problema?

De antemano muchas gracias =)
  #2 (permalink)  
Antiguo 02/08/2010, 21:34
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: Hay manera de agregar atributo onClick que ejecute server script???

Bueno no se si esto te sirve, si estas trabajando con Gridview, creaste un GV llamado miGV,colocas el valor o dato o el boton con un buttonfield dentro del GV, el Boundfield tiene una propiedad que es CommandName, alli colocas el nombre que tu quieras, ejemplo llamarBD, luego en el programa vas y buscas miGV_RowCommand y alli preguntas
If e.CommandName = "llamarBD" Then
hago la llamada
end if
no se si esto te ayudara, suerte

Última edición por chuchufuentes; 03/08/2010 a las 08:41
  #3 (permalink)  
Antiguo 02/08/2010, 22:37
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: Hay manera de agregar atributo onClick que ejecute server script???

no es un Boundfield es un buttonfield
  #4 (permalink)  
Antiguo 03/08/2010, 09:25
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Hay manera de agregar atributo onClick que ejecute server script???

la idea es no usar ningun boton, estube viendo que se puede asignarle el comando Select a toda la fila completa, de modo que cuando se le de click a la fila se haga el evento onSelectedIndexChanged

Pero por mas que trato de usar los codigos que encontre, no me funcionan, si hace el postback, pero nunca se ejecuta el onSelectedIndexChanged del grid.

Lo estoy tratando de la siguiente manera:
Código ASP:
Ver original
  1. Protected Sub gvInscritos_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvInscritos.RowDataBound      
  2.             If e.Row.RowType = DataControlRowType.DataRow Then
  3.  
  4.                 e.Row.Attributes("onClick") = Page.ClientScript.GetPostBackClientHyperlink(gvInscritos, "Select$" + e.Row.RowIndex.ToString)                
  5.     End Sub
  6.  
  7. Protected Sub gvInscritos_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvInscritos.SelectedIndexChanged
  8.         MsgBox("hola")
  9.     End Sub
Pero nunca se llega a generar el evento SelectedIndexChanged, me imagino que nunca llega a ser seleccionado ninguna fila al dar click
  #5 (permalink)  
Antiguo 03/08/2010, 11:14
Avatar de jaullo  
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 15 años, 8 meses
Puntos: 30
Respuesta: Hay manera de agregar atributo onClick que ejecute server script???

Has provado trantando de agregar el evento el RowCreated del grid.
Tambien puedes recuperar el valor de la fila sin javascript,

Código ASP:
Ver original
  1. Dim gvfls As GridView = DirectCast(Flm.FindControl("gvwFiles"), GridView)
  2.  
  3.         Dim items As New List(Of String)()
  4.         For Each row As GridViewRow In gvfls.Rows
  5.             If row.RowType = DataControlRowType.DataRow Then
  6.                 Dim cb As CheckBox = DirectCast(row.FindControl("gvchkFile"), CheckBox)
  7.                 If cb.Checked Then
  8.                   'codigo
  9.                 End If
  10.             End If
  11.         Next
__________________
http://geekswithblogs.net/jaullo/Default.aspx
Si te he ayudado regalame Karma positivo!!!
  #6 (permalink)  
Antiguo 07/08/2010, 12:23
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Hay manera de agregar atributo onClick que ejecute server script???

Hace unos dias pude ingeniármelas para simular lo que quería hacer. Unicamente en la funcion javascript mando precionar un boton que me manda llamar a la funcion del lado del servidor. Asi de sencillo, se que es mucha vuelta en el sentido llamar una funcion del lado del cliente, que a su vez mande presionar un boton que mande llamar una funcion del lado del servidor, pero fue la manera que encontre de solucionar mi problema.

Mi funcion javascript quedo asi (utilize jquery para presionar el buton):

Código Javascript:
Ver original
  1. function RowClick(idProspecto) {
  2.                 PageMethods.prueba(idProspecto);
  3.                 $('#<%= btnRefresh.ClientID %>').click();
  4.             }

Salu2!

Etiquetas: onclick, server, aspx, atributos
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 15:04.