Récupération de la valeur d'un textbox
Bonjour à tous,
Voila, j'ai un problème sur une page Web ASP.NET 2.0.
J'ai un formulaire avec un contrôle web textbox et deux contrôles dropdownlist.
Pour lier le contrôle textbox, j'utilise un oledbdatareader qui exécute une requête SELECT classique. Après ça, j'ai bien la bonne valeur qui s'affiche dans le textbox.
Le problème, c'est que je voudrais exécuter une requête UPDATE après avoir modifier la valeur de mon textbox. J'ai donc un bouton qui exécute cette requête de mise à jour mais la valeur insérée dans la bd est la valeur d'origine et non la valeur modifiée.
Je me suis donc documenté et j'ai trouvé des informations concernant le POST BACK et le CROSS POST BACK. Après avoir essayé les 2 techniques, je ne suis toujours pas parvenu à récupérer la valeur modifiée.
D'autre part, je sais que ma requête UPDATE s'exécute correctement car j'affiche à l'écran la valeur retournée par la fonction ExecuteNonQuery de l'objet Command et elle correspond bien au nombre d'enregistrements affectés par la mise à jour.
J'ai l'impression que le moteur ASP.NET exécute d'abord le POST BACK et après seulement la procèdure Click du bouton. Par conséquent, c'est la valeur d'origine qui est pris en compte.
Voila, si quelqu'un a une idée ou a déjà rencontré ce problème, merci de votre aide.
Voici mon code du click sur le bouton :
Sub EnregistrerModif(ByVal sender As Object, ByVal e As System.EventArgs)
Dim Cn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\FR\DevApp\Music\music.mdb")
Dim Cmd As New OleDb.OleDbCommand
Dim SQL As String
Dim val As Integer
Cn.Open()
SQL = "UPDATE ALBUM SET TITRE = '" & TextBox1.Text & "', ID_ART = " & DropDownList1.SelectedValue & ", ID_CAT = " & DropDownList2.SelectedValue & " WHERE ID_ALBUM = " & Request.QueryString("id_album")
Cmd.Connection = Cn
Cmd.CommandText = SQL
val = Cmd.ExecuteNonQuery()
MsgBox(val)
Cn.Close()
End Sub