ModalPopup Ajax, postback, récupération info boutton
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:
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> |
Code d'assignation de l'information au bouton au moment de l'affichage
Code:
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();
} |
Evenement généré par le postback (ici le sender ne contient plus l'information voulue)
Code:
1 2 3 4 5 6 7 8
|
protected void PopuOkButton_Click(object sender, EventArgs e)
{
if (PopupAction_Click != null)
{
PopupAction_Click(sender, e);
}
} |
Petite précision, j'utilise une la propriété du bouton OK "OnClientClick=" pour générer le postback
Code:
1 2 3 4
|
string jsFunctionFormat = "fnDopostback('{0}','{1}')";
PopupOKButton.OnClientClick = String.Format(jsFunctionFormat, PopupOKButton.UniqueID, ""); |
Au moment du passage dans le javascript, la propriété du sender qui m'intéresse est deja réinitialisée
Code:
1 2 3 4 5 6 7
|
<script type="text/javascript">
function fnDopostback(sender, e)
{
__doPostBack(sender,e);
}
</script> |
Au cas ou, le code du bouton personnalisé
Code:
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 :):ccool: