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

Ocultar o hacer visible un control Panel

Estas en el tema de Ocultar o hacer visible un control Panel en el foro de ASPX (.net) en Foros del Web. Hola, lo que pasa es que lo que quiero hacer es que el usuario selecciones de un listbox un elemento y dependiendo del elemento seleccionado ...
  #1 (permalink)  
Antiguo 16/11/2012, 18:15
Avatar de jesmi89  
Fecha de Ingreso: agosto-2008
Ubicación: Bello - Antioquia
Mensajes: 47
Antigüedad: 15 años, 8 meses
Puntos: 0
Pregunta Ocultar o hacer visible un control Panel

Hola, lo que pasa es que lo que quiero hacer es que el usuario selecciones de un listbox un elemento y dependiendo del elemento seleccionado se muestre el panel, el cual en su interior contiene un gridview, pero no sucede nada, entonces no se que este haciendo mal. Lo que tengo hasta le momento es esto

En el evento Load puse

Código Javascript:
Ver original
  1. if (ListBox1.SelectedValue == "Petición")
  2. {
  3.      Panel1.Visible = true;
  4. }

Gracias

  #2 (permalink)  
Antiguo 16/11/2012, 23:20
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Ocultar o hacer visible un control Panel

Hola

Ya te fijaste si el ListBox1 tiene la propiedad AutoPostBack en true

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #3 (permalink)  
Antiguo 17/11/2012, 10:00
Avatar de jesmi89  
Fecha de Ingreso: agosto-2008
Ubicación: Bello - Antioquia
Mensajes: 47
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ocultar o hacer visible un control Panel

si asi es la propiedad esta en true, pero al igual no sucede nada
  #4 (permalink)  
Antiguo 17/11/2012, 10:19
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Ocultar o hacer visible un control Panel

Y en que evento tienes estas tres lineas?

Código C#:
Ver original
  1. if (ListBox1.SelectedValue == "Petición")
  2.     {
  3.          Panel1.Visible = true;
  4.     }


Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #5 (permalink)  
Antiguo 17/11/2012, 10:30
Avatar de jesmi89  
Fecha de Ingreso: agosto-2008
Ubicación: Bello - Antioquia
Mensajes: 47
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ocultar o hacer visible un control Panel

lo estoy poniendo en el evento del ListBox1_SelectedIndexChanged o esto debe de ponerse mejor en el load, sera por eso?
  #6 (permalink)  
Antiguo 17/11/2012, 10:54
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Ocultar o hacer visible un control Panel

En teroria como lo tienes debe de funcionar, ahora mas tarde hago una prueba y te comento.

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #7 (permalink)  
Antiguo 17/11/2012, 11:38
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Ocultar o hacer visible un control Panel

Listo, dice asi:

estoy casi seguro que tu AutoPostBack esta en FALSE, mira este ejemplo y funciona:

Código html:
Ver original
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml" >
  6. <head runat="server">
  7.     <title></title>
  8. </head>
  9.     <form id="form1" runat="server">
  10.     <div>
  11.    
  12.         <asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True"
  13.            onselectedindexchanged="ListBox1_SelectedIndexChanged">
  14.             <asp:ListItem>Panel 1</asp:ListItem>
  15.             <asp:ListItem>Panel 2</asp:ListItem>
  16.             <asp:ListItem>Ninguno</asp:ListItem>
  17.         </asp:ListBox>
  18.    
  19.     </div>
  20.     <asp:Panel ID="Panel1" runat="server" Visible="False">
  21.         ESTE ES EL PANEL 1
  22.     </asp:Panel>
  23.     <asp:Panel ID="Panel2" runat="server" Visible="False">
  24.         ESTE ES EL PANEL 2
  25.     </asp:Panel>
  26.     </form>
  27. </body>
  28. </html>

Código C#:
Ver original
  1. protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
  2.         {
  3.             switch (ListBox1.SelectedItem.Value )
  4.             {
  5.                 case "Panel 1":
  6.                     Panel1.Visible = true;
  7.                     Panel2.Visible = false;
  8.                     break;
  9.                 case "Panel 2":
  10.                     Panel2.Visible = true;
  11.                     Panel1.Visible = false;
  12.                     break;
  13.                 default:
  14.                     Panel1.Visible = false;
  15.                     Panel2.Visible = false;
  16.                     break;
  17.             }
  18.         }
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #8 (permalink)  
Antiguo 17/11/2012, 13:20
Avatar de jesmi89  
Fecha de Ingreso: agosto-2008
Ubicación: Bello - Antioquia
Mensajes: 47
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ocultar o hacer visible un control Panel

Hola gracias por tomarte la molestia de comprobarlo tu mismo como se podria hacer, ps mira lo he implementado asi como tu me indicas, y ya me asegure y la propiedad Autopostback del ListBox esta en True. Y ps bueno la verdad no he manejado mucho esto de los Case, pero segun entiendo el default hace que el elemento en este caso el Panel este oculto una vez se cargue la página, y solo se muestre cuando se cumplan alguna de las condiciones de los case verdad?

Y ps bueno cuando pruebo la página, me aparece el panel es decir el contenido de este y ps cuando selecciono alguna de las opciones del list se recarga la página y ps no se no logro lo q quiero hacer. Mira asi fue como lo puse


Código C#:
Ver original
  1. private void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
  2.         {
  3.  
  4.             switch (ListBox1.SelectedItem.Value)
  5.             {
  6.                 case "Petición":
  7.                     Panel3.Visible = true;
  8.                     break;
  9.                 case "Queja":
  10.                     // otra opción
  11.                     break;
  12.                 default:
  13.                     Panel3.Visible = false;
  14.                     break;
  15.             }
  16.         }

  #9 (permalink)  
Antiguo 17/11/2012, 13:38
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Ocultar o hacer visible un control Panel

El ListoBox carga los items predefinidos o desde base de datos?

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #10 (permalink)  
Antiguo 17/11/2012, 13:41
Avatar de jesmi89  
Fecha de Ingreso: agosto-2008
Ubicación: Bello - Antioquia
Mensajes: 47
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ocultar o hacer visible un control Panel

Son predefinidos, los agregue mediante diseño y no mediante código
  #11 (permalink)  
Antiguo 17/11/2012, 13:51
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Ocultar o hacer visible un control Panel

Muestrame el codigo del ASPX, solo la seccion del ListBox
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #12 (permalink)  
Antiguo 17/11/2012, 13:57
Avatar de jesmi89  
Fecha de Ingreso: agosto-2008
Ubicación: Bello - Antioquia
Mensajes: 47
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ocultar o hacer visible un control Panel

mira es este

Código ASP:
Ver original
  1. <asp:ListBox ID="ListBox1" runat="server" Height="23px"
  2.                                         Rows="1" AutoPostBack="True">
  3.       <asp:ListItem>Seleccione...</asp:ListItem>
  4.       <asp:ListItem>Petición</asp:ListItem>
  5.       <asp:ListItem>Queja</asp:ListItem>
  6.       <asp:ListItem>Reclamo</asp:ListItem>
  7.       <asp:ListItem>Sugerencia</asp:ListItem>
  8. </asp:ListBox>
  #13 (permalink)  
Antiguo 17/11/2012, 14:11
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Ocultar o hacer visible un control Panel

Si, colocas un BreakPoint la aplicacion si para ahi?

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #14 (permalink)  
Antiguo 17/11/2012, 14:54
Avatar de jesmi89  
Fecha de Ingreso: agosto-2008
Ubicación: Bello - Antioquia
Mensajes: 47
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ocultar o hacer visible un control Panel

oye en verdad no conozco muy bn la utilidad de los breakpoint asi q no se hacer lo q dices. PEro en verdad gracias por tus respuestas seguire intentado
  #15 (permalink)  
Antiguo 17/11/2012, 20:34
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
De acuerdo Respuesta: Ocultar o hacer visible un control Panel

jesmi89 parece que en tu codigo aspx le falta una propiedad al ListBox (onselectedindexchanged), por que no pruebas de esta manera:

Código Javascript:
Ver original
  1. <asp:ListBox ID="ListBox1" runat="server" Height="23px" Rows="1"
  2.         AutoPostBack="True" onselectedindexchanged="ListBox1_SelectedIndexChanged">
  3.       <asp:ListItem>Seleccione...</asp:ListItem>
  4.       <asp:ListItem>Petición</asp:ListItem>
  5.       <asp:ListItem>Queja</asp:ListItem>
  6.       <asp:ListItem>Reclamo</asp:ListItem>
  7.       <asp:ListItem>Sugerencia</asp:ListItem>
  8.     </asp:ListBox>
  9.     <asp:Panel ID="Panel1" runat="server" Visible="False">
  10.         ESTE ES EL PANEL 1
  11.     </asp:Panel>
  12.     <asp:Panel ID="Panel2" runat="server" Visible="False">
  13.         ESTE ES EL PANEL 2
  14.     </asp:Panel>
  15.     <asp:Panel ID="Panel3" runat="server" Visible="False">
  16.         ESTE ES EL PANEL 3
  17.     </asp:Panel>
  18.     <asp:Panel ID="Panel4" runat="server" Visible="False">
  19.         ESTE ES EL PANEL 4
  20.     </asp:Panel>

Código Javascript:
Ver original
  1. protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
  2.         {
  3.             switch (ListBox1.SelectedItem.Value)
  4.             {
  5.                 case "Petición":
  6.                     Panel1.Visible = true;
  7.                     Panel2.Visible = false;
  8.                     Panel3.Visible = false;
  9.                     Panel4.Visible = false;
  10.                     break;
  11.                 case "Queja":
  12.                     Panel2.Visible = true;
  13.                     Panel1.Visible = false;                    
  14.                     Panel3.Visible = false;
  15.                     Panel4.Visible = false;
  16.                     break;
  17.                 case "Reclamo":
  18.                     Panel3.Visible = true;
  19.                     Panel1.Visible = false;
  20.                     Panel2.Visible = false;                    
  21.                     Panel4.Visible = false;
  22.                     break;
  23.                 case "Sugerencia":
  24.                     Panel4.Visible = true;
  25.                     Panel1.Visible = false;
  26.                     Panel2.Visible = false;
  27.                     Panel3.Visible = false;                    
  28.                     break;
  29.                 default:                    
  30.                     Panel1.Visible = false;
  31.                     Panel2.Visible = false;
  32.                     Panel3.Visible = false;
  33.                     Panel4.Visible = false;
  34.                     break;
  35.             }
  36.         }

Me cuentas si te funciona.
  #16 (permalink)  
Antiguo 17/11/2012, 20:35
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Ocultar o hacer visible un control Panel

Son para hacer un "paso a paso" o seguimiento de codigo a la aplicacion.

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #17 (permalink)  
Antiguo 17/11/2012, 20:40
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Respuesta: Ocultar o hacer visible un control Panel

Y para que no se te recargue toda la pagina mete todo en un "UpdatePanel":

Código Javascript:
Ver original
  1. <asp:ScriptManager ID="ScriptManager1" runat="server">
  2. </asp:ScriptManager>
  3. <asp:UpdatePanel ID="UpdatePanel1" runat="server">
  4.     <ContentTemplate>
  5.  
  6.         // Aqui el contenido
  7.  
  8.     </ContentTemplate>
  9. </asp:UpdatePanel>
  #18 (permalink)  
Antiguo 18/11/2012, 10:07
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Ocultar o hacer visible un control Panel

Ya probaste lo que dice DeivisAndres, porque mirando tu codiog y mi ejemplo en el tuyo no esta en lazado el evento y el control, mira:

el mio
Código:
 <asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True"
           onselectedindexchanged="ListBox1_SelectedIndexChanged">
El tuyo
Código:
<asp:ListBox ID="ListBox1" runat="server" Height="23px"
                                        Rows="1" AutoPostBack="True">
Posiblemente ese es el problema.

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)

Etiquetas: c#, listbox, panel
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 23:10.