Bonjour
J'utilise une modal popup de l'Ajax Toolkit avec un postback généré sur l'appui du boutton OK qui est un control personnalisé. Ce bouton OK possède un propriété qui est assignée dynamiquement au moment de l'affichage sur le poste client.
La pop up est lancé depuis le codebehind.
Lorsque je passe dans l'évènement du bouton qui a généré le postback, le sender (mon bouton) ne contient plus l'information que je lui avait assigné avant le click.
Code Aspx de la popup
Code d'assignation de l'information au bouton au moment de l'affichage
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <asp:Panel ID="PopUpDisplayPanel" runat="server" CssClass="modalPopupDiv"> <cc1:PouvoirsLabel ID="PopupMessage" runat="server" IsLocalisable="False"/> <br /> <br /> <cc1:PouvoirsCycleDeVieBouton ID="PopupOKButton" runat="server" OnClick="PopuOkButton_Click" IsLocalisable="False" /> <cc1:PouvoirsCycleDeVieBouton ID="PopupCancelButton" runat="server" IsLocalisable="False" /> </asp:Panel>
Evenement généré par le postback (ici le sender ne contient plus l'information voulue)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public void SetPopUpInformation(ProcessEventArgs e) { DisplayMode = e.DisplayMode; PopupMessage.Text = e.Message; PopupOKButton.LifeCycleAction = e.Action; SetOkButtonJavaScriptPostBackFunction(); }
Petite précision, j'utilise une la propriété du bouton OK "OnClientClick=" pour générer le postback
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 protected void PopuOkButton_Click(object sender, EventArgs e) { if (PopupAction_Click != null) { PopupAction_Click(sender, e); } }
Au moment du passage dans le javascript, la propriété du sender qui m'intéresse est deja réinitialisée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 string jsFunctionFormat = "fnDopostback('{0}','{1}')"; PopupOKButton.OnClientClick = String.Format(jsFunctionFormat, PopupOKButton.UniqueID, "");
Au cas ou, le code du bouton personnalisé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <script type="text/javascript"> function fnDopostback(sender, e) { __doPostBack(sender,e); } </script>
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 public class PouvoirsCycleDeVieBouton : PouvoirsButton { //Propriété permettant d'obtenir le type d'action effectuée dans le cycle de vie private int _lifeCycleAction; [DefaultValue(0)] public int LifeCycleAction { get { return _lifeCycleAction; } set { _lifeCycleAction = value; } } }
Merci d'avance pour les éclaircissements![]()
Partager