2008-11-26 114 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,现在它按预期工作。