none
check Box RRS feed

  • Pregunta

  • tengo un boton cancelar en una ventana2 que me debe desabilitar  un checkBok de una ventana1   (o sea de la que vine al entrar a ventana2) pero no me la desabilita, que puede ser?

        protected void btn_cancelartipoPenalizacionClick(object sender, EventArgs e)
        {
            try
            {
                tipoPenalizacion.Visible = false;
                pnlBackgroundPenalizacion.Visible = false;
                Session["PenalizacionesEditIDActuacion"] = null;
                chkTodosLosCampos.Checked = false;
                cmb_Penalizaciones.CmSelectedIndex = 0;
            }
            catch (Exception fe)
            {
              ...........
            }
        }



    saludos cordiales

    Edgardo
    jueves, 18 de junio de 2009 16:34

Respuestas

  • Hola edgardoj.

    Tienes que tener en cuenta que ajax trabaja solo con ajax.
    Es decir, en una llamada ajax, tan solo se puede modificar controles que esten dentro de un updatePanel

    Del mismo modo el contenido devuelto por la llamada ajax, no esta visible en el codigo fuente de la pagina y en ningun control de servidor, con lo que no puedes hacer referencia al contenido dinamico ajax (algo muy a tener en cuenta y es por ello que los robots de los buscadores tienen problemas con el contenido ajax).

    La solucion a tu problema la puedes resolver insertando un updatePanel en la tabla donde estan los checBocks que quieras modificar mediante una llamada ajax:

    <asp:updatePanel>
    ....
    <td>
         <asp:CheckBox ID="chkTodosLosCampos" runat="server" AutoPostBack="True" Text="Habilitar todos los campos de ingreso."  
                OnCheckedChanged="chkTodosLosCampos_CheckedChanged"/>
      </td>
     
    ....
    </asp:updatePanel>

    Esto deberia de funcionarte correctamente.
     


    Saludos
    David González
    martes, 14 de julio de 2009 10:41

Todas las respuestas

  • corrijo, ventana2 es un panel que abro desde ventana1, y desde ese panel no puedo hacer que cambie el ckeck
    jueves, 18 de junio de 2009 18:09
  • Que es exactamente lo que quieres hacer? Tu código deselecciona el CheckBox (descheckea). Si lo que quieres es deshabilitarlo, entonces la propiedad que deberías utilizar es Enabled en lugar de Checked.

    Saludos y suerte,
    Fernando.
    I always try to Keep it Sharp & simple.
    jueves, 18 de junio de 2009 18:13
  • no, quiero  que se deseleccione , pero no se deselecciona, esto esto en el ASPX

                        <td>
                            <asp:CheckBox ID="chkTodosLosCampos" runat="server" AutoPostBack="True" Text="Habilitar todos los campos de ingreso." OnCheckedChanged="chkTodosLosCampos_CheckedChanged" Checked="false"/>
                        </td>
    jueves, 18 de junio de 2009 18:19
  • hola,

    pregunta, pero segun veo en el codigo que posteas que deseleccion no es el mismo evento que posee el checkbox.

    O sea este esta en tun boton, puede ser ?

    O sea cuando presionas el boton es que no se desmarca el check ?


    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 18 de junio de 2009 19:07
  • hola,

    Inicialmente yo marco el checkBox
     <td>
         <asp:CheckBox ID="chkTodosLosCampos" runat="server" AutoPostBack="True" Text="Habilitar todos los campos de ingreso."  
                OnCheckedChanged="chkTodosLosCampos_CheckedChanged" Checked="false"/>
      </td>


    y bueno queda habilitado ese checkBox y se habilitan todos los campos que tengo desabilitados, entre ellos hay  un boton que me permite abrir un Panel de Ajax

    seria en un UpdatePanel de AJAX en donde  tengo los botones

        <%--Tipo Penalizacion--%>
        <ajax:UpdatePanel ID="udpTipoPenalizaciones" runat="server">
            <ContentTemplate>
                    <cc1:DragPanelExtender ID="DragPanelExtendertp" runat="server" TargetControlID="tipoPenalizacion"></cc1:DragPanelExtender>
                    <asp:Panel runat="server" ID="pnlBackgroundPenalizacion" Visible="false">
                    <div class="backgroundPopup" style="z-index:25;"></div></asp:Panel>           
                    <asp:Panel ID="tipoPenalizacion" runat="server"  /*propiedades y esas cosas.......*/ >
                        <table style="margin-left: 35px; margin-top: 10px;" width="90%">

                              ........
                              ........
                              ........
                              ........
                            <tr>
                                <td align="right" colspan='4'>
                                    <asp:Button ID="btn_grabarTipoPenalizacion" runat="server" Text="Grabar" OnClick="btn_grabartipoPenalizacionClick" />
                                    <asp:Button ID="btn_cancelartipoPenalizacion " runat="server" Text="Cancelar" OnClick="btn_cancelartipoPenalizacionClick"/>
                                </td>
                            </tr>


    cuando hago click el el boton Cancelar va al metodo

        protected void btn_cancelartipoPenalizacionClick(object sender, EventArgs e)
        {
            try
            {
                tipoPenalizacion.Visible = false;
                pnlBackgroundPenalizacion.Visible = false;
                Session["PenalizacionesEditIDActuacion"] = null;
                chkTodosLosCampos.Checked = false;
                cmb_Penalizaciones.CmSelectedIndex = 0;
            }
            catch (Exception fe)
            {
              ...........
            }
        }

    y cierro el Panel , pero al volver no me deselecciona el checkBox que habilite inicialmente

    que podrá ser?


    saludos cordiales

    Edgardo
    jueves, 18 de junio de 2009 19:36
  • hola, si lo solucionaste por favor indicanos como para cerrar el tema.


    Colabora con la comunidad, si éste mensaje te ha sido de utilidad, márcalo como respuesta correcta.
    Juan Carlos Ruiz Pacheco
    Ingeniero de Sistemas
    Microsoft MVP C#
    MCP,MCTS,DCE+Platino,OCA,OCP
    Blog Técnico
    viernes, 10 de julio de 2009 17:57
    Moderador
  • Hola edgardoj.

    Tienes que tener en cuenta que ajax trabaja solo con ajax.
    Es decir, en una llamada ajax, tan solo se puede modificar controles que esten dentro de un updatePanel

    Del mismo modo el contenido devuelto por la llamada ajax, no esta visible en el codigo fuente de la pagina y en ningun control de servidor, con lo que no puedes hacer referencia al contenido dinamico ajax (algo muy a tener en cuenta y es por ello que los robots de los buscadores tienen problemas con el contenido ajax).

    La solucion a tu problema la puedes resolver insertando un updatePanel en la tabla donde estan los checBocks que quieras modificar mediante una llamada ajax:

    <asp:updatePanel>
    ....
    <td>
         <asp:CheckBox ID="chkTodosLosCampos" runat="server" AutoPostBack="True" Text="Habilitar todos los campos de ingreso."  
                OnCheckedChanged="chkTodosLosCampos_CheckedChanged"/>
      </td>
     
    ....
    </asp:updatePanel>

    Esto deberia de funcionarte correctamente.
     


    Saludos
    David González
    martes, 14 de julio de 2009 10:41