Formview 和 Listview 在 TextChange 选项卡上更新数据集

Formview & Listview Update dataset on TextChange tab out

我有一个表单视图和一个列表视图,它们在编辑模板中都有一个名为 "Grade_CodeTextbox" 的文本框。我不想在文本框中编辑数据并单击“更新”按钮将更改保存回 SQLDatasource,而是想在用户跳出 Grade_Codetextbox 时将更新保存在文本框 textchange 上。这可能吗?如果是这样,有人可以帮我举个小例子吗?先感谢您!

<EditItemTemplate>
    <span style="">ID:
    <asp:Label ID="IDLabel1" runat="server" Text='<%# Eval("ID") %>' />
    <br />
    Class_ID:
    <asp:TextBox ID="Class_IDTextBox" runat="server" Text='<%# Bind("Class_ID") %>' />
    <br />
    Assignment_ID:
    <asp:TextBox ID="Assignment_IDTextBox" runat="server" Text='<%# Bind("Assignment_ID") %>' />
    <br />
    Student_ID:
    <asp:TextBox ID="Student_IDTextBox" runat="server" Text='<%# Bind("Student_ID") %>' />
    <br />
    Grade_Code:
    <asp:TextBox ID="Grade_CodeTextBox" runat="server" AutoPostBack="True" Text='<%# Bind("Grade_Code") %>' />
    <br />
    Comment:
    <asp:TextBox ID="CommentTextBox" runat="server" Text='<%# Bind("Comment") %>' />
    <br />
    <asp:CheckBox ID="ExemptCheckBox" runat="server" Checked='<%# Bind("Exempt") %>' Text="Exempt" />
    <br />
    <asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="Update" />
    <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" />
    <br />
    <br />
    </span>
</EditItemTemplate>

是的,可以按照您在问题中提到的进行操作。

要实现您的要求,您需要添加如下代码。

  1. 订阅 TextChanged 文本框的服务器端事件。标记应如下所示。请注意我在标记中包含的 OnTextChanged属性。

TextChanged 事件的标记

<asp:TextBox ID="Grade_CodeTextBox" runat="server" AutoPostBack="True"
      Text='<%# Bind("Grade_Code") %>'  OnTextChanged="Grade_CodeTextBox_TextChanged"  />
  1. 为上面步骤订阅的服务端事件编写代码。

VB.Net

中的服务器端代码
Protected Sub Grade_CodeTextBox_TextChanged(ByVal sender As Object, ByVal e As EventArgs)
 'Write your code here when text changes in this textbox
 'For example, you could save textbox text in database

End Sub