Récupération d'une variable JavaScript en code behind
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:
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 behind C#
Code:
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
}
}
}
} |