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

Control de eventos en un control Web. Ayuda por dios

Estas en el tema de Control de eventos en un control Web. Ayuda por dios en el foro de ASPX (.net) en Foros del Web. Hola compañeros. Necesito de vuestra ayuda a ver si me podéis ayudar porque en estoy soy novato. Veréis, hago con Vb.net 2005 una aplicación Web ...
  #1 (permalink)  
Antiguo 12/03/2009, 11:07
 
Fecha de Ingreso: junio-2007
Mensajes: 327
Antigüedad: 16 años, 10 meses
Puntos: 0
Pregunta Control de eventos en un control Web. Ayuda por dios

Hola compañeros. Necesito de vuestra ayuda a ver si me podéis ayudar porque en estoy soy novato.

Veréis, hago con Vb.net 2005 una aplicación Web y queremos hacer un controlito Web que sirva para regular los distintos pasos que puede haber en un proceso, es decir, el típoco control con varias imágenes "paso1" "paso2" etc etc, y que pulsando en ellas se rediriga a los distiontos pasos de un proceso.

El caso, hago una biblioteca de controls, heredo de WebControl y con "Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)" comienzo a pintar el control, así:


Código:
    Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)


        Dim iContador As Integer = 0

        writer.Write("<table  border='0' cellspacing='0' cellpadding='0'>")
        writer.Write("<tr>")

        For iContador = 0 To ArrayPasos.Length - 1
            writer.Write(PintarPaso(ArrayPasos(iContador)))
        Next

        writer.Write("</tr>")
        writer.Write("</table>")



    End Sub
"PintarPaso" es una función que pinta el TD y la Tabla que es el paso en si, es decir con su imágen, texto ,etc etc.

El problema que tengo es que tengo que implementar luego que una vez haga click con el ratón en cada uno de esos "pasos" tiene que hacer una acción. Si fuese implementarle el redirec sería sencillo, pero yo lo que quiero es hacer un evento por cada uno de los "pasos" para desde la aplicación ejecutar una determinada acción con código cuando haga click en cada uno de los nodos pintados con la función "PintarPaso" no se si me explico....

No se si tan siquiera eso es posible. Gracias compañeros ;)
  #2 (permalink)  
Antiguo 12/03/2009, 12:25
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Control de eventos en un control Web. Ayuda por dios

Que tal Javi.

No entendí, pero supongo que lo que quieres hacer es un control wizard, sí es así, porque no usas el control asp:Wizard, tiene sus limitantes pero en general funciona bien y se implementa rápido.

Saludos!
  #3 (permalink)  
Antiguo 12/03/2009, 15:20
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Control de eventos en un control Web. Ayuda por dios

tu mismo lo dijiste quieres un evento

define en tu clase un event y el delegado que lo manejara

dale una vuelta a esto para que te des una idea

http://www.15seconds.com/Issue/031023.htm
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #4 (permalink)  
Antiguo 12/03/2009, 17:35
 
Fecha de Ingreso: enero-2004
Ubicación: mexico
Mensajes: 110
Antigüedad: 20 años, 3 meses
Puntos: 0
Respuesta: Control de eventos en un control Web. Ayuda por dios

Que tipo de controles o elementos son los nodos?
__________________
Controles Web para ASP.NET (Tabstrip, Datepicker, Calendar, Panel colapsable...) en
www.enlasys.com
  #5 (permalink)  
Antiguo 13/03/2009, 03:09
 
Fecha de Ingreso: junio-2007
Mensajes: 327
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Control de eventos en un control Web. Ayuda por dios

Son tablas pintadas por html, speack. Del mismo modo con el "writer.Write()" voy pintando un TD y dentro una tabla que a su vez ya tiene una estructura de TR y TD que donde carga las imágenes y texto necesario para formar una simulación de un botón. ¿Se puede luego simular un evento click en algo pintado de ese modo sin ser un control?

Es mi duda.
  #6 (permalink)  
Antiguo 13/03/2009, 10:10
 
Fecha de Ingreso: enero-2004
Ubicación: mexico
Mensajes: 110
Antigüedad: 20 años, 3 meses
Puntos: 0
Respuesta: Control de eventos en un control Web. Ayuda por dios

Seguro que se puede.

Lo que debes hacer es lo siguiente.

Primero debes agregar la referencia "Javascript" que invocara el postback, por ejemplo si es una imagen seria algo así:

image.Attributes["onclick"] = Page.ClientScript.GetPostBackEventReference(this, "image1");

El segundo parámetro del método "GetPostBackEventReference" es el Id del control que te servirá para identificar cual de todos los nodos fue el que se presionó.

Para que esto funcione tu control debe implementar la interfaz "IPostBackEventHandler" y en el método "RaisePostBackEvent" de dicha interfaz te llegará como parámetro el id del control que se presionó. Ya en el método RaisePostBackEvent agregas todo el código que necesitas.

Avísame si tienes algún problema, saludos.
__________________
Controles Web para ASP.NET (Tabstrip, Datepicker, Calendar, Panel colapsable...) en
www.enlasys.com
  #7 (permalink)  
Antiguo 17/03/2009, 05:19
 
Fecha de Ingreso: junio-2007
Mensajes: 327
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Control de eventos en un control Web. Ayuda por dios

Finalmente lo estoy haciendo añadiendo Imagebuttons desde el método CreateChildControls. Sin embargo ahora estoy implementando el tema eventos y también tengo atasco.
Veréis, creo los eventos para cada control perféctamente y funciona (El click) El problema es que lo tengo que hacer de forma dinámica, y no se como. Es decir, mi control nos e cuantos botones tendrá, y como la declaración como Dim WithEvents Boton1 As New ImageButton() con el WithEvents , solo me deja hacerlo en la cabecera, no se me ocurre ninguna forma de hacerlo de forma dinámica y no tener que delclararlo arriba. ¿Se os ocurre o conocéis algo para solucionar ésto???


Gracias
  #8 (permalink)  
Antiguo 18/03/2009, 04:31
 
Fecha de Ingreso: junio-2007
Mensajes: 327
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Control de eventos en un control Web. Ayuda por dios

Nadie sabe nada???
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 11:09.