Bonjour,
Je cherche à récupérer la valeur de mon paramètre JavaScript en code Behind.
Sur le clique d'un bouton, je pose une question qui doit me retourner oui/non.
Sous IE 7
-- Je récupére bien le contenu de mon paramètre. Mais le page_load est appelé 2 fois. Et c'est sur le 2 éme passage que le paramètre est bien initialisé.
Sous FireFox
-- Le page_load est appele une seul fois et de ce fait le contenu de mon paramètre est nul.
Comment faire pour que cela fonctionnne sous les 2 navigateurs ?
Attention la propriété validateRequest doit rester à false.
Code JavaScript dans ma form ASPX.
Les propriétés de ma form EnableEventValidation="true" validateRequest="false"
Code behind C#
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 <script type="text/javascript"> function DoMessage() { if (confirm("Voulez vous créer une demande sur tous les éléments la liste?") == true) { ParametrePostBack = 'true'; } else { ParametrePostBack = 'false'; } // Renvoie un postback en indiqant la provenance via le bouton BtnCreerDemandeElements avec le paramètre setTimeout("__doPostBack('BtnCreerDemandeElements','" + ParametrePostBack + "')", 0); } </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
16 protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) { string MonControlParametre = Page.Request.Params["__EVENTTARGET"]; if (MonControlParametre.ToUpper() == "BTNCREERDEMANDEELEMENTS") { string Parametre = Page.Request.Params["__EVENTARGUMENT"]; if (Parametre.ToUpper() == "TRUE") { Mon traitement } } } }
Partager