Retroceder   Foros del Web > Programación para sitios web > .NET > web forms

Respuesta
 
Herramientas Desplegado
Antiguo 16-abr-2008, 16:21   #1 (permalink)
skel363 está en el buen camino
 
Fecha de Ingreso: febrero-2003
Ubicación: chile
Mensajes: 10
Enviar un mensaje por Yahoo  a skel363
Sonrisa Enviar datos a un evento?

Hola amigos nuevamente aqui necesitando de su ayuda, tengo un problema, eh tratado de buscar informacion pero no eh encontrado, quizas no lo estoy buscando de la forma correcta. Bueno les cuento de que se trata haber si me dicen por como lo tengo que buscar o que solucion puede tener.

Lo que estoy haciendo es genero una tabla en forma dinámica, ahora una de estas celdas tiene un boton, al cual le añado un evento:

Creo el boton. (la cantidad de filas depende de una consulta a la base de datos)

Código:
Dim boton As LinkButton = New LinkButton()
boton.Text = "Ver mas"
AddHandler boton.Click, AddressOf Boton1_Click
boton.ToolTip = "Detalle"
tc1d.Controls.Add(boton)
ahora el evento
Código:
Protected Sub Boton1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim sUrl As String = "DetalleAsignatura.aspx"
        Dim sScript As String = "<script language =javascript> "
        sScript += "window.open('" & sUrl & "',null,'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=350,height=170,left=50,top=50');"
        sScript += "</script> "
        Response.Write(sScript)
    End Sub

Bueno eso es lo que tengo funciona bien pero necesito enviarle un dato ((dt.Rows(i).Item("Cod_Plan")) a mi Ventana Emergente dependiendo de la fila de la tabla, ahora esa es mi duda como captura el dato dependiendo de la fila para pasarselo al evento o abra alguna otra forma de hacerlo y yo me estoy complicando la vida.

De ante mano muchas gracias!!!!
skel363 está desconectado   Responder Citando
Antiguo 17-abr-2008, 01:43   #2 (permalink)
Bravenap está en el buen camino
 
Avatar de Bravenap
 
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 1.890
Enviar un mensaje por Skype™ a Bravenap
Re: Enviar datos a un evento?

Lo que puedes hacer es añadirle un argumento al botón y luego lo capturas en el evento:

Código:
boton.CommandArgument = valor
luego en el evento:
Código:
Dim valor As String = e.CommandArgument 'valor = valor
De todas formas por lo que puedo ver, quieres abrir una ventana emergente al pulsar el botón mediante Javascript, por lo que hacer un postback para esto no tiene mucho sentido ya que estarías recargando la página de nuevo con la consiguiente lentitud de navegación. Es preferible que el botón lance directamente la ventana popup. Así, cuando agregues el botón ponle esto:
Código:
boton.Attributes.Add("onClick","window.open('DetalleAsignatura.aspx?idAsignatura=" & valor & "',null,'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=350,height=170,left=50,top=50')";)
He puesto esto DetalleAsignatura.aspx?idAsignatura=valor porque me imagino que es lo que necesitas.
Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
Bravenap está desconectado   Responder Citando
Antiguo 17-abr-2008, 01:45   #3 (permalink)
Bravenap está en el buen camino
 
Avatar de Bravenap
 
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 1.890
Enviar un mensaje por Skype™ a Bravenap
Re: Enviar datos a un evento?

Lo que puedes hacer es añadirle un argumento al botón y luego lo capturas en el evento:

Código:
boton.CommandArgument = valor
luego en el evento:
Código:
Dim valor As String = e.CommandArgument 'valor = valor
De todas formas por lo que puedo ver, quieres abrir una ventana emergente al pulsar el botón mediante Javascript, por lo que hacer un postback para esto no tiene mucho sentido ya que estarías recargando la página de nuevo con la consiguiente lentitud de navegación. Es preferible que el botón lance directamente la ventana popup. Así, cuando agregues el botón ponle esto:
Código:
boton.Attributes.Add("onClick","window.open('DetalleAsignatura.aspx?idAsignatura=" & valor & "',null,'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=350,height=170,left=50,top=50');")

'Con esto te olvidas de añadirle un evento que requiera un postback
He puesto esto DetalleAsignatura.aspx?idAsignatura=valor porque me imagino que es lo que necesitas.
Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!

Última edición por Bravenap; 17-abr-2008 a las 02:03.
Bravenap está desconectado   Responder Citando
Antiguo 03-jun-2008, 08:14   #4 (permalink)
Zoltam está en el buen camino
 
Avatar de Zoltam
 
Fecha de Ingreso: diciembre-2004
Mensajes: 79
Respuesta: Enviar datos a un evento?

Buenas he estado probando esto y funciona bien, pero una apreciación El e del system.eventargs del butón no es el que contiene la propiedad CommandArgument, es el sender el que lo tiene Un ejemplo:

Cita:
Private Sub CrearBotonesGrupos(ByVal objPerfilesProfesionales_Col As OBJ_PORTALASISTENCIA.PERFILESPROFESIONALES_col)

Dim botonGrupo As Button
Dim intContador As Integer = 0

Try

For intContador = 0 To objPerfilesProfesionales_Col.Count - 1
botonGrupo = New Button
botonGrupo.ID = "btnGrupo_" & intContador
botonGrupo.Text = objPerfilesProfesionales_Col(intContador).DES_PERF IL
botonGrupo.CssClass = "boton-prueba"
botonGrupo.Width = "210"
botonGrupo.Height = "20"
botonGrupo.CommandArgument = objPerfilesProfesionales_Col(intContador).COD_PERF IL
AddHandler botonGrupo.Click, AddressOf Boton1_Click
pnlGrupos.Controls.Add(botonGrupo)
Next

Catch ex As Exception
End Try

End Sub
y el evento definido:

Cita:

Protected Sub Boton1_Click(ByVal sender As Object, ByVal e As System.EventArgs)

Dim sUrl As String = "DetalleAsignatura.aspx"
Dim sScript As String = "<script>alert('" & sender.CommandArgument & "');</script>"
Response.Write(sScript)

End Sub

Última edición por Zoltam; 03-jun-2008 a las 15:47.
Zoltam está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 10:23.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93