AsyncPostback触发器-文本框值没有被发送回来



My UpdatePanel

 <form id="form1" runat="server">
         <asp:ScriptManager ID="ScriptManager1" runat="server" 
    EnablePageMethods="true"></asp:ScriptManager>
<asp:UpdatePanel ID="up1" UpdateMode="Conditional" 
    runat="server" ChildrenAsTriggers="false">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="txtName" 
            EventName="TextChanged"/>
    </Triggers>
    <ContentTemplate>
        <asp:TextBox ID="txtName" runat="server"
           AutoPostBack="true" OnTextChanged="txtName_TextChanged" />
        <asp:TextBox ID="txtPhone" runat="server" AutoPostBack="true" />
    </ContentTemplate>
</asp:UpdatePanel>
    </form>

为什么不是我的文本框(txtName)的值被发送回服务器时,它失去了焦点?异步回发发生了,但是没有值。

EventName应该是EventName="TextChanged"

TextChangedTextBox控件的默认值,因此您甚至不需要设置它。

AsyncPostBackTrigger。EventName地产

<asp:ScriptManager ID="ScriptManager1" runat="server" 
    EnablePageMethods="true"></asp:ScriptManager>
<asp:UpdatePanel ID="up1" UpdateMode="Conditional" 
    runat="server" ChildrenAsTriggers="false">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="txtName" 
            EventName="TextChanged"/>
    </Triggers>
    <ContentTemplate>
        <asp:TextBox ID="txtName" runat="server"
           AutoPostBack="true" OnTextChanged="txtName_TextChanged" />
        <asp:TextBox ID="txtPhone" runat="server" AutoPostBack="true" />
    </ContentTemplate>
</asp:UpdatePanel>

背后的代码
protected void txtName_TextChanged(object sender, EventArgs e)
{
    string name = txtName.Text;
}

最新更新