Il me manque quelque chose ici, mais j'ai regardé trop longtemps pour le voir. J'ai un ListView simple, avec les boutons Edit/Update/Cancel. J'ai la configuration suivante dans mon EditItemTemplate lorsque la ligne passe en mode d'édition:Obtenir la valeur d'édition de 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>
A ce stade, les types d'utilisateurs d'une valeur dans le EmployeeIdTextBox. Quand ils presse mise à jour, il essaie de faire ce qui suit:
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
Le problème est que « employeeId » revient à la valeur d'origine dans la zone de texte, et non pas ce que l'utilisateur est entré. Qu'est-ce que je rate?
MISE À JOUR: Found it. Comme d'habitude, causé par un autre code non inclus ici dans un effort pour poser une question simple. :)