Bonjour,
J'ai une question sur un comportement que je ne comprends pas dans une de mes pages.
CONTEXTE
Cette page présente une GridView.
En dessous de cette GridView, j'ai un UpdatePanel
ID="uPanelToto" runat="server" UpdateMode="Conditional" Visible="false"
qui contient un tableau
Ce tableau (<table></table>) est en fait une zone me permettant d'ajouter une nouvelle donnée dans le GridView.
Ce tableau contient un Bouton "Sauvegarder".
L'évènement OnClick de ce bouton déclenche l'insertion en base de données de la nouvelle donnée + la mise à jour de ma GridView.
Dans cette page, (en dehors de l'UpdatePanel), j'ai également un HiddenField, "idEquipementSupplier" me permettant de retenir une données (l'ID de la SelectedValue d'une DropDownList dont j'ai désactivé le ViewState).
A la fin de l'évènement OnClick de mon bouton "Sauvegarder", je réinitialise la valeur de ce HiddenField avec la valeur "-1"
puis je cache l'UpdatePanel permettant d'insérer une nouvelle donnée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part idEquipementNew.Value = "-1";
PROBLEME
Lorsque je veux ajouter une nouvelle fois une donnée, j'appuie sur un bouton "BtnAddNew", qui me rend visible l'UpdatePanel d'insertion. ("BtnAddNew" est en dehors de tout UpdatePanel ou Panel)
Cela entraine un PostBack, je passe dans le PageLoad puis l'évènementt Load de ma DropDownList dont j'ai désactivé le ViewState (J'ai besoin de la repeupler à chaque postback)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 protected void BtnAddNew_Click(object sender, EventArgs e) { uPanelToto.Visible = true; }
Et dans cet évènement, la valeur de mon HiddenField n'est pas "-1" comme je m'attends mais sa précédente valeur (dont je me sert pour faire l'insertion en base).
Ma réinitialisation n'a pas fonctionnée !!
Alors qu'en debug, je vois le programme passer sur la ligne, et mettre le HiddenField à "-1" dans l'évènement OnClick de mon bouton "Sauvegarder".
Pourquoi ?? Ça me rend fou !
Partager