Salut,
y a t-il une solution pour faire un double postback lors d'un clic sur un bouton?
Merci d'avance
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.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 : Sélectionner tout - Visualiser dans une fenêtre à part 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![]()
"Winter is coming" (ma nouvelle page d'accueil)
Enfin j'ai résolu ça,j'ai utilisé un peu de ruse
.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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 string scriptRefresh = "document.getElementById('" + btn.ClientID + "').click();"; Page.ClientScript.RegisterStartupScript(typeof(Page), "refreshscript", scriptRefresh, true);. Toujours on utilise de ruse
,j'ai inclut une variable session pour éviter ce boucle infini. Voici le code:
J'avais pas d'autre solution
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
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"; } }![]()
Partager