none
Problema al visualizar la fecha de un calendario en un textbox RRS feed

  • Pregunta

  • Hola, utilizo el framework 4 con visual studio 2014 y les comento tengo un ImageButton el cual al darle click despliega un control calendario y una vez seleccionada la fecha se despliega dentro den textBox hasta aquí me funciona bien.

    El problema es cuando el calendario lo pongo dentro de un control UpdatePanel para que no se recargue la pagina hace todo bien pero al seleccionar la fecha no se visualiza dentro del texbox.

    Del lado del cliente tengo lo siguiente:

    <div id="div_2" class="wrap-input100">

                <table class="w-100">

                    <tr>

                        <td><span class="label-input100">Fecha agenda</span></td>

                        <td>

                            <asp:ImageButton ID="imbCalendario" runat="server" ImageUrl="~/images/calendario.png" Width="20px" Height="20px" OnClick="imbCalendario_Click" />

                            <asp:TextBox ID="txtCalendario" runat="server"></asp:TextBox>

                        </td>

                        <td><span class="label-input100">Hora agenda</span></td>

                        <td>

                            <telerik:RadTimePicker ID="rtpHora" runat="server" Skin="Outlook">

                            </telerik:RadTimePicker>

                        </td>

                        <td>

                            <asp:Button ID="btnAgrega" runat="server" Text="+" Font-Bold="True" Font-Size="Large" class="contact100-form-btn" OnClick="btnAgrega_Click" />

                        </td>

                    </tr>

                </table>

            </div>

            <div id="div_3">

                <br />

                <asp:UpdatePanel ID="udpCalendario" runat="server">

                    <ContentTemplate>

                        <asp:Calendar ID="Calendario" runat="server" OnSelectionChanged="Calendar1_SelectionChanged"></asp:Calendar>

                    </ContentTemplate>

                    <Triggers>

                        <asp:AsyncPostBackTrigger ControlID="imbCalendario" EventName="Click" />

                    </Triggers>

                </asp:UpdatePanel>

            </div>

    Del lado del código tengo esto:

        protected void Page_Load(object sender, EventArgs e)

        {

            if (!IsPostBack)

            {

                Calendario.Visible = false;

            }

        }

     

        protected void Calendar1_SelectionChanged(object sender, EventArgs e)

        {

            DateTime fecha = Calendario.SelectedDate;

            txtCalendario.Text = fecha.ToString("yyyy-MM-dd");

            Calendario.Visible = false;

        }

     

        protected void imbCalendario_Click(object sender, ImageClickEventArgs e)

        {

            if (Calendario.Visible)

            {

                Calendario.Visible = false;

            }

            else

            {

                Calendario.Visible = true;

            }

        }

    lunes, 26 de febrero de 2018 15:17

Respuestas

  • hola

    >>El problema es cuando el calendario lo pongo dentro de un control UpdatePanel para que no se recargue la pagina hace todo bien pero al seleccionar la fecha no se visualiza dentro del texbox.

    revisaste sino tienes un error de javascript ? utiliza la consola del browser a la cual accedes con F12, desde la colapa Console podras ver si hay un error en javascript cuando quiere lanzar el evento al servidor

    Recuerda que el textbox tambien debe estar dentro del UpdatePanel, sino no podra accederlo

    sino vas a tener que escribir javascript que actue cuando vuelve del evento del servidor para asignar el valor al textbox

    How to update controls which are outside of updatepanel during partial page rendering?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina



    lunes, 26 de febrero de 2018 15:37