[c#][.net 1.1] Lancement d'un téléchargement qui bloque l'execution du code c#
Bonjour,
J'au un curieux problème. J'ai un bouton qui délcenche un traitement. En cliquant sur ce bouton, j'ai une portion de code dans le Page_Load qui me permet de changer son aspect (bouton grisé + nouveau texte).
Code:
1 2 3 4 5 6 7 8 9
| System.Text.StringBuilder sbGen = new System.Text.StringBuilder();
sbGen.Append("if (typeof(Page_ClientValidate) == 'function') { ");
sbGen.Append("if (Page_ClientValidate() == false) { return false; }} ");
sbGen.Append("this.value = 'Génération en cours ...';");
sbGen.Append("document.getElementById('" + btnGenExcel.ClientID + "').disabled = true;");
sbGen.Append(this.Page.GetPostBackEventReference(this.btnGenExcel));
sbGen.Append(";");
this.btnGenExcel.Attributes.Add("onclick", sbGen.ToString());
btnGenExcel.Enabled=true; |
Jusque là tout va bien. Une fois mon traitement effectué (génération d'un fichier Excel, je veux envoyer au client le fichier. Ce code:
Code:
1 2 3 4 5
| Response.Clear();
Response.ContentType = "application/msexcel";
string name = System.IO.Path.GetFileName(locationFile);
Response.AddHeader("Content-Disposition", String.Format("attachment; filename="+name+""));
Response.WriteFile(locationFile,true); |
lance la fenêtre de téléchargement du navigateur. mais je n'arrive pas à réinitialiser le bouton pour qu'il soit de nouveau cliquable avec son texte d'orginine. Si je rajoute un Response.Redirect sur ma page, ça le réinitialise correctement mais la boite de dialogue de téléchargement ne s'affiche plus (j'ai palcé le response.redirect après l'envois du fichier au client!)
Je ne sais pas comment m'y prendre... :(