当我将 ID 为“MessageTextBox”的“TextBox”控件放入 ID 为“UpdatePanel2”的 UpdatePanel 的“触发器”中时,这个 ID 为“MessageTextBox”的“TextBox”不想通过 AJAX 回发。ID 为“MessageButton”的“Button”控件工作正常,但这个 TextBox 不想工作。为什么 ?
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<br />
<asp:TextBox ID="MessageTextBox" runat="server" AutoPostBack="true" Height="150px" Width="400px"></asp:TextBox>
<br />
<asp:Button ID="MessageButton" runat="server" Text="Send" OnClick="MessageButton_Click" />
<br />
<br />
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="MessageButton" />
<asp:AsyncPostBackTrigger ControlID="MessageTextBox" />
</Triggers>
<ContentTemplate>
<asp:DataList ID="ChatDataList" runat="server" >
<HeaderTemplate>
<table style="border:1px solid red">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><asp:Label ID="lblRaterName" runat="server" Text='<%# Eval("Text")%>'></asp:Label></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:DataList>
</ContentTemplate>
</asp:UpdatePanel>
当我像这样包装这个“TextBox”控件时,一切正常,但我更喜欢触发器的其他方式(不像上面的代码那样工作的方式):
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="MessageTextBox" runat="server" Height="150px" Width="400px"></asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>