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

Habilitar botón cuando se pulsa otro

Estas en el tema de Habilitar botón cuando se pulsa otro en el foro de ASPX (.net) en Foros del Web. Hola a tod@s: Tengo una pagina en la que cargo dinamicamente 2 o mas web user controls cada uno de ellos con varios labels, textbox ...
  #1 (permalink)  
Antiguo 20/08/2008, 09:50
 
Fecha de Ingreso: junio-2008
Mensajes: 14
Antigüedad: 15 años, 10 meses
Puntos: 0
Habilitar botón cuando se pulsa otro

Hola a tod@s:

Tengo una pagina en la que cargo dinamicamente 2 o mas web user controls cada uno de ellos con varios labels, textbox y un solo boton. El caso es q qiero q los botones de todos los controles excepto el de uno de ellos aparezcan deshabilitados hasta el momento en que se hace click en el q no esta deshabilitado. El codigo va asi:

//Control del boton habilitado desde el principio

protected void Button1_Click1(object sender, EventArgs e)
{
Session ["nombre"]=true;
}

//Controles con el boton deshabilitado

protected void Page_Init(object sender, EventArgs e)
{
Button1.Enabled = false;
if (Session["nombre"] != null)
{
Button1.Enabled = true;
}
}

El problema es q cuando pulsas el boton se produce antes el evento Page_Init de los controles q el propio evento Button1_Click1. He probado tambien a ponerlo en el Page_Load pero tambien se ejecuta antes.
Alguien tiene alguna idea???
Muchisimas gracias.
  #2 (permalink)  
Antiguo 22/08/2008, 05:22
 
Fecha de Ingreso: julio-2008
Mensajes: 34
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Habilitar botón cuando se pulsa otro

Haz esto:

protected void Button1_Click1(object sender, EventArgs e)
{
Button1.Enabled = true;
}

//Controles con el boton deshabilitado

protected void Page_Init(object sender, EventArgs e)
{
if (!isnotpostback)
Button1.Enabled = false;
}
  #3 (permalink)  
Antiguo 25/08/2008, 04:28
 
Fecha de Ingreso: junio-2008
Mensajes: 14
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Habilitar botón cuando se pulsa otro

Hola:
Lo primero de todo muchisimas gracias por contestar.
Creo q no has entendido muy bien el problema. Estoy utilizando dos controles de usuario que cargo dinamicamente en una pagina. Cada uno de los controles tiene un boton. Llamemosles boton 1 y boton2. Lo que yo quiero es que cuando pulse el boton 1 se habilite el boton2. Yo creo q no se puede hacer porque el evento del click del boton ocurre despues de cargar la pagina. Si alguien sabe de fijo que no se puede me gustaria que me lo confirmara.
Gracias.
  #4 (permalink)  
Antiguo 25/08/2008, 08:31
Avatar de juamurex  
Fecha de Ingreso: febrero-2007
Ubicación: Gandía (Valencia)
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Habilitar botón cuando se pulsa otro

Hola,

Una posible solución sería controlar la pulsación del botón en la página principal, esto se podría hacer mediante el uso de delegados y eventos, así la página principal detectaría la pulsación del botón en un control de usuario y podría llamar a un método del control de usuario en el que se quiere activar el botón.

He buscado algún ejemplo y este podría serte útil:

http://www.dotnetjunkies.ddj.com/Tutorial/D481E737-BA40-472E-BEBD-E193FC68F8F2.dcik"]http://www.dotnetjunkies.ddj.com/Tutorial/D481E737-BA40-472E-BEBD-E193FC68F8F2.dcik

Sino te sirve podría prepararte un ejemplo sencillo.

Saludos,
  #5 (permalink)  
Antiguo 25/08/2008, 12:31
 
Fecha de Ingreso: junio-2008
Mensajes: 14
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Habilitar botón cuando se pulsa otro

Muchas gracias juamurex, ya habia pensado yo algo asi pero es que mi aplicacion es muy particular y puede que esos controles aparezcan o no. No solo es q aparezcan a nivel de interfaz sino que no se incluyen en el .csproj por lo tanto en ningun momento puedo hacer referencia a objetos de ese control porque la aplicacion no encuentra esos objetos. La unica opcion es que haya algun evento como el Page_Load que se ejecute despues del evento al pulsar el boton pero creo q no hay ninguno.
He hecho un apaño dejando los botones habilitados pero no dejando que se ejecuten sus acciones hasta que se ha pulsado el otro.
Muchas gracias.
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:24.