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...
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
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).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <asp:TextBox ID="TbPDT_EAN" runat="server" /> <asp:Button ID="BtnValider" runat="server" Text="Valider" />
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) :
S'affiche alors une page identique à celle d'un ajout, avec les textbox permettant de saisir les données :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Si ce n'est que ces texbox seront remplies dans le page_load avec les données de l'enregistrement à modifier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <asp:TextBox ID="TbPDT_EAN" runat="server" /> <asp:Button ID="BtnValider" runat="server" Text="Valider" />
L'utilisateur peut alors modifier la valeur des textbox puis cliquer sur valider pour enregistrer les changements.
Code : Sélectionner tout - Visualiser dans une fenêtre à part TbPDT_EAN.Text = CType(System.Web.HttpContext.Current.Session("PRODUCT"), ClassProduct).Product.Rows(0).Item("PDT_EAN").ToString()
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 ?
Partager