Mostrando entradas con la etiqueta AJAX. Mostrar todas las entradas
Mostrando entradas con la etiqueta AJAX. Mostrar todas las entradas

viernes, 5 de abril de 2019

AJAX Calendar extender ¿Cómo puedo activar el evento de cambio de cuadro de texto después de la fecha elegida en el calendario?


Si configura las propiedades "habilitadas" del cuadro de texto en falso, no contendrá el foco o el evento de desenfoque.
Por lo tanto, necesita establecer un PopupButtonID para el extensor de calendario AJAX. Y usa el método javascript _DopostBack pars desencadenar evento TextBox TextChanged;

 <div>
        <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></asp:ToolkitScriptManager>
        <asp:TextBox ID="TextBox1" runat="server"  Enabled="false"  OnTextChanged="TextBox1_TextChanged"></asp:TextBox>
        <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/Images/aaa.jpg" Width="20" Height="20" />
        <asp:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="TextBox1" PopupButtonID="ImageButton1" OnClientDateSelectionChanged="CheckTextChange"></asp:CalendarExtender>
         <script>            
             function CheckTextChange()
             {
                 __doPostBack('<%= TextBox1.ClientID %>', 'TextBox1')                 
             }
        </script>
    </div>

En code behind

protected void Page_Load(object sender, EventArgs e)
        {

            if (IsPostBack) 
            {
                var str1 = Request["__EVENTTARGET"];
                if (Request["__EVENTARGUMENT"] == "TextBox1") {

                    TextBox1_TextChanged(null,null);
                }
            }
        }

        protected void TextBox1_TextChanged(object sender, EventArgs e)
        {
            Response.Write("changed");
        }