我在這裏錯過了一些東西,但我盯着它看太久了。我有一個簡單的ListView,帶有典型的Edit/Update/Cancel按鈕。我有以下設置在我的EditItemTemplate裏當行進入編輯模式:從ListView獲取編輯值
<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
的問題是,「僱員」是回來用在文本框中的原始值,而不是用戶輸入的內容。我錯過了什麼?
更新:Found it。像往常一樣,由其他代碼不包括在這裏努力問一個簡單的問題。 :)