2008-11-26 116 views
2

我在這裏錯過了一些東西,但我盯着它看太久了。我有一個簡單的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。像往常一樣,由其他代碼不包括在這裏努力問一個簡單的問題。 :)

回答

1

發現它 - 我曾在ItemCommand事件是正在處理其他事件的代碼,但它是在年底做的GetData()與命令的,所以基本上數據被正確的前刷新ItemUpdating事件觸發。我收緊了ItemCommand,現在它按預期工作。