Salut,
y a t-il une solution pour faire un double postback lors d'un clic sur un bouton?
Merci d'avance
Version imprimable
Salut,
y a t-il une solution pour faire un double postback lors d'un clic sur un bouton?
Merci d'avance
Je suis curieux de savoir le besoin qui nécessite un double postback :?
Pourquoi as tu besoin de faire 2 postback consécutifs?
En fait,j'ai un bouton avec un évenement OnClick .Il me faut toujours que je clique 2 fois sur celui ci pour déclencher l'action de la fonction Button_OnClick (l'action ne peut pas etre déclenchée dés le 1er clic). Je ne sais pas pourquoi :calim2: .J'ai essayé de faire une redirection en ajoutant cette ligne dans la fonction Button_OnClick :Ceci me donne un résultat mais m'a causé un autre problème .Code:Page.Response.Redirect(HttpContext.Current.Request.Url.ToString(), true);
Y'a t-il donc une autre solution pour éviter ce double clic?
Pas besoin de redirection normalement.
Il y a quelque chose dans ton Page_Load qui pourrait faire que tu ne rentres pas dans le OnClick ?
Il n ' y a rien de spécial dans ma fonction load_page , juste un simple affichage d'un GridView :(
Enfin j'ai résolu ça :aie: ,j'ai utilisé un peu de ruse :P .En fait j'ai fait un deuxième clic implicite dans ma fonction Button_onClick de mon bouton "btn"
Ceci cause un boucle infini suite à l'appel récursif de la fonction Button_onClick :mouarf: . Toujours on utilise de ruse 8-) ,j'ai inclut une variable session pour éviter ce boucle infini. Voici le code:Code:
1
2 string scriptRefresh = "document.getElementById('" + btn.ClientID + "').click();"; Page.ClientScript.RegisterStartupScript(typeof(Page), "refreshscript", scriptRefresh, true);
J'avais pas d'autre solution :roll:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Session["refresh"] ="1"; } } protected void Button_onClick(object sender, EventArgs e) { string ch=Session["refresh"]+""; if (ch.Equals("1")) { string scriptRefresh = "document.getElementById('" + btn.ClientID + "').click();"; Page.ClientScript.RegisterStartupScript(typeof(Page), "refreshscript", scriptRefresh, true); Session["refresh"] = "0"; } }