次の操作を行うと、TextChanged イベントを発生させることができます。
<asp:DataGrid ID="DataGrid1" runat="server" AutoGenerateColumns="False"
onitemdatabound="DataGrid1_ItemDataBound">
<Columns>
<asp:TemplateColumn HeaderText="Test">
<ItemTemplate>
<asp:TextBox OnTextChanged="txtBox_TextChanged" ID="TextBox1" runat="server" AutoPostBack="True"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="Name" HeaderText="Test 1"></asp:BoundColumn>
</Columns>
</asp:DataGrid>
次のプロパティが設定されていることに気付くでしょう: AutoPostBack="True" また、テキスト ボックスに OnTextChanged="txtBox_TextChanged" を手動で追加しました。
私のコードビハインドには次のものがあります:
protected void txtBox_TextChanged(object sender, EventArgs e)
{
TextBox txtBox = (TextBox)sender;
Label1.Text = txtBox.Text;
}
イベントが発生する唯一の方法は、入力後にテキスト ボックスにフォーカスを失った場合です。
考慮すべき重要なポイント: これによりポストバックが発生するため、Ajax はユーザー エクスペリエンスを良好に保つための優れた方法である可能性があります。DataBind() を if (!IsPostBack) でラップしていることを確認する必要があります。
お役に立てれば!