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

Pasar parámetro por referencia a evento Click

Estas en el tema de Pasar parámetro por referencia a evento Click en el foro de ASPX (.net) en Foros del Web. Hola! Tengo el siguiente problema, necesito pasar una variable por referencia al procedimiento Click de un ImageButton. Con el diseñador he colocado el imageButton y ...
  #1 (permalink)  
Antiguo 03/12/2009, 11:04
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años
Puntos: 0
Pasar parámetro por referencia a evento Click

Hola! Tengo el siguiente problema, necesito pasar una variable por referencia al procedimiento Click de un ImageButton.
Con el diseñador he colocado el imageButton y dándele doble click me crea por defecto el procedimiento ImageButton_Click con los parámtros sender, e, pero si además intento pasar la variable que yo quiero me da error de que no puede manejar el evento. Supongo que habrá que definir está modificación del procedimiento pero no se como, si alguien me lo pudiera decir lo agradecería.
  #2 (permalink)  
Antiguo 03/12/2009, 13:33
 
Fecha de Ingreso: enero-2006
Mensajes: 293
Antigüedad: 18 años, 3 meses
Puntos: 4
Respuesta: Pasar parámetro por referencia a evento Click

De donde vas a agarrar el valor de tu tercer parametro?

Según yo no puedes manipular los parámetros queenvias a los eventos de los controles. (aunque podría estar equivocado)
  #3 (permalink)  
Antiguo 03/12/2009, 15:25
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años
Puntos: 0
Respuesta: Pasar parámetro por referencia a evento Click

Gracias por contestar.Lo que quiero es más o menos así:

Partial Class Ejemplo

Dim Encendido As Boolean=False

Protected Sub ImageButton_Click(ByVal sender As Object, ByVal e As
System.Web.UI.ImageClickEventArgs) Handles ImageButton.Click
/Codigo del evento
Encendido=True
End Sub
End Class

Como quiero que Encendido guarde los cambios para usarla en otros procedimientos necesito mandarla por referencia al procedimiento Click sino los cambios no se mantienen.
  #4 (permalink)  
Antiguo 03/12/2009, 15:40
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: Pasar parámetro por referencia a evento Click

al ser web no funcionaria de ese modo, lo que tendrias que haces es conservar ese valor en session para que no se pierda entre recargas o en el viewstate si fuera un control personalizado y definirle un manejo de statebag personalizado.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #5 (permalink)  
Antiguo 03/12/2009, 15:51
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años
Puntos: 0
Respuesta: Pasar parámetro por referencia a evento Click

He leido algo del viewState para mantener el valor de las variables pero no consigo enterarme de como implementar el código para mi caso. Si me pudieras explicar más o menos como funciona.
  #6 (permalink)  
Antiguo 04/12/2009, 17:20
 
Fecha de Ingreso: enero-2006
Mensajes: 293
Antigüedad: 18 años, 3 meses
Puntos: 4
Respuesta: Pasar parámetro por referencia a evento Click

Sería muy sencillo. El viewstate (aunque no sería una definición oficial) lo podrías ver como una variable global dentro de tu página. Por lo que, independientemente donde se haya modificado su valor, este será accesible en cualquier otra parte de la página.

Por ejemplo: digamos que tu variable/viewstate lo quieres dejar por default en false

La primera vez que entras a la página le pones un valor default
Código:
Page_Load(object sender, EvevntArgs e)
{
     if(!isPostBack)
    {
         ViewState["encendido"] = true;
    }
}
Luego tienes un botón o imagebutton o cualquier control que "enciende" tu variable
Código:
Button1_Click(object sender, EventArgs e)
{
     ViewState["encendido"] = true;
}
Puedes tener otro botón que apague tu variable
Código:
Button2_Click(object sender, EventArgs e)
{
     ViewState["encendido"] = false;
}
Por ultimo podrías tener un botón de apagado y encendido
Código:
Button3_Click(object sender, EventArgs e)
{
     ViewState["encendido"] = (ViewState["encendido"] == false);
}
Como puedes ver, no es necesario que le envies como parámetro el valor de "encendido" a cada método, sino que lo tienes accesible en cualquier parte de la misma página.

**El viewstate esta activo dentro de la misma página. Una vezque te sales de la página actual, pierdes el viewstate de esa página.
Espero te sea de ayuda.
  #7 (permalink)  
Antiguo 06/12/2009, 06:33
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años
Puntos: 0
Respuesta: Pasar parámetro por referencia a evento Click

Eres un genio!!! Con tu explicación he logrado que funcione.Mil graciassssss
  #8 (permalink)  
Antiguo 07/12/2009, 18:39
 
Fecha de Ingreso: enero-2006
Mensajes: 293
Antigüedad: 18 años, 3 meses
Puntos: 4
Respuesta: Pasar parámetro por referencia a evento Click

Me alegra que te haya servido.
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 22:57.