ID "UpdatePanel2" の UpdatePanel の "Triggers" に ID "MessageTextBox" の "TextBox" コントロールを配置すると、この ID "MessageTextBox" の "TextBox" は AJAX 経由でポストバックされません。ID「MessageButton」の「ボタン」コントロールは正常に機能しますが、この 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>