Bonjour,
j'ai un petit soucis avec les PostBack
Structure du site:
le site est construit sur une Page qui possede le menu, les images et au niveau centrale un DynamicControlsPlaceholder(merci a Denis Bauer)
je possede ensuite une suite de WebUserControls pour chaque page, a chaque click sur un element je charge le WebUserControl correspondant dans le DynamicControlsPlaceHolder(qui est regler sur ControlsWithoutIDs="Persist" : recrèè les controls en conservant leur parametre après PostBack)
Je suis entrain de realiser le WebUC pour la modification des infos utilisateur, au chargement de la page je lit et affiche les infos
puis si je clique sur "Valider" j'effectue certain control et si possible je sauvegarde les changement dans la base de donnèes.
mon problème est le suivant: le code du bouton Valider est traiter après PostBack, ainsi le code du PageLoad(chargement des information) est executer avans et donc les modification sont perdus.
j'aimerais pouvoir savoir si je doit ou non charger les infos de l'utilisateur dans le PageLoag. j'ai bien essayer de recuperer le EVENTTARGET mais il est vide....
PS: mon bouton de validation et "cmdValider1"
merci pour votre aide
voici le code de mon WebUC
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 public partial class MonCompte : UserControl { MembershipUser user; protected void Page_Load(object sender, EventArgs e) { user = Membership.GetUser(); if (Request.Form["__EVENTTARGET"].ToString() == "cmdValider1") { txtLogin.Text = user.UserName; txtEMail.Text = user.Email; txtPassword.Text = ""; txtPasswordConfirmation.Text = ""; txtQuestion.Text = user.PasswordQuestion; } } protected void cmdValider1_Click(object sender, EventArgs e) { if (user.UserName != txtLogin.Text && Membership.GetUser(txtLogin.Text) != null) { lblLoginDoublon.Visible = true; lblInformations1.Text = "Validation Impossible 1"; table.Rows[5].Visible = true; return; } if (!Membership.ValidateUser(user.UserName, txtPasswordActuel1.Text)) { lblInformations1.Text = "Validation Impossible 2"; table.Rows[5].Visible = true; return; } user.Email = txtEMail.Text; Membership.Provider.UpdateUser(user); lblInformations1.Text = "Validation Réussie"; table.Rows[5].Visible = true; } }
Partager