我在这里遗漏了一些东西,但我已经盯着它看了太久而看不到它。我有一个简单的 ListView,带有典型的编辑/更新/取消按钮。当行进入编辑模式时,我在 EditITemTemplate 中进行了以下设置:
<EditItemTemplate>
<asp:Label ID="AccountIdLabel" runat="server" Text='<%#Eval("lan_id")%>' />
<asp:TextBox ID="EmployeeIdTextBox" runat="server" Text='<%#Eval("emp_id")%>' Columns="5" />
</EditItemTemplate>
此时,用户在 EmployeeIdTextBox 中键入一个值。当他们按下更新时,它正在尝试执行以下操作:
Private Sub ListView_ItemUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ListViewUpdateEventArgs) Handles EmployeeListView.ItemUpdating
Dim accountId = CType(EmployeeListView.EditItem.FindControl("AccountIdLabel"), Label).Text
Dim employeeId = CType(EmployeeListView.EditItem.FindControl("EmployeeIdTextBox"), TextBox).Text
UpdateMap(accountId, employeeId)
EmployeeListView.EditIndex = -1
GetData()
End Sub
问题是“employeeId”返回文本框中的原始值,而不是用户输入的值。我错过了什么?
更新:找到了。像往常一样,由此处未包含的其他代码引起的,以提出一个简单的问题。:)