如何触发TextChange事件而不在ASP.NET C#中留下焦点?

时间:2016-04-18 18:50:06

标签: javascript c# jquery asp.net ajax

我尝试使用ajax触发TextChange事件但是dosnt真的很好地解决了我的工作方式。希望你们能帮助我。

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="0">
            </asp:ScriptManager>
            <asp:TextBox ID="TextBox1" runat="server" AutoCompleteType="Disabled" AutoPostBack="True" OnTextChanged="TextBox1_TextChanged"></asp:TextBox>
            <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
        </ContentTemplate>


        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="TextBox1" EventName="TextChanged" />
        </Triggers>


    </asp:UpdatePanel>

1 个答案:

答案 0 :(得分:2)

ScriptManager应该出现在UpdatPanel之前,而不是在其内部。而且您不需要将TextBox1定义为触发器。默认情况下,TextBox位于UpdatePanel内,属性ChildrenAsTriggers为true,当TextBox1在其内容被修改后失去焦点时,面板将会更新。

<强>更新

我最初误解了这个问题。以下帖子描述了每次在TextBox中按下键时触发回发并刷新UpdatPanel的方法:How do I make a Textbox Postback on KeyUp?