Perte de valeur d'une textbox.
salut les gens.
Le titre n'est pas super clair, mais c'est que je ne saisis pas le problème.
J'ai créée une page aspx alimentant une listbox depuis une table située dans une bdd sql server.
J'ai également des boutons permettant de modifier/supprimer/ajouter les enregistrements dans la bdd en fonction de la ligne sélectionnée dans la listbox.
Si je clique sur ajouter...
Code:
1 2 3
| Protected Sub BtnAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnAdd.Click
Response.Redirect("ajout.aspx")
End Sub |
Il va s'afficher une page avec plusieurs textbox afin de saisir les valeurs des différents champs de la table et un bouton pour valider la saisie et insérer les données dans la table.
Code:
1 2
| <asp:TextBox ID="TbPDT_EAN" runat="server" />
<asp:Button ID="BtnValider" runat="server" Text="Valider" /> |
En cliquand sur le bouton valider, je lance un appel vers une classe qui fera le travaille nécessaire (paramètrage des objets SQL et appel à la procédure stockée).
Pas de problème de ce coté là.
Par contre en choisissant de modifer un enregistrement existant, si.
Tout se déroule de la même façon, je clique sur le bouton modifier (j'ajoute dans l'url la valeur de la clé pour interroger la base sur l'enregistrement à modifier) :
Code:
1 2 3
| Protected Sub BtnUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnUpdate.Click
Response.Redirect("modif.aspx?ean=" + CType(Page.Master.FindControl("LBProduct"), ListBox).SelectedValue.ToString())
End Sub |
S'affiche alors une page identique à celle d'un ajout, avec les textbox permettant de saisir les données :
Code:
1 2
| <asp:TextBox ID="TbPDT_EAN" runat="server" />
<asp:Button ID="BtnValider" runat="server" Text="Valider" /> |
Si ce n'est que ces texbox seront remplies dans le page_load avec les données de l'enregistrement à modifier :
Code:
TbPDT_EAN.Text = CType(System.Web.HttpContext.Current.Session("PRODUCT"), ClassProduct).Product.Rows(0).Item("PDT_EAN").ToString()
L'utilisateur peut alors modifier la valeur des textbox puis cliquer sur valider pour enregistrer les changements.
Seulement ici j'ai un problème. Au moment de cliquer pour valider les changements, la valeur des textbox prise en compte sera celle initialisée dans le page_load et non celle saisie par l'utilisateur.
Pourquoi est-ce que je perds les valeurs saisies par l'utilisateur ?