Bonjour,

Je développe une application web en c# .Net 3.5. Sur une page (un user control), je dois remplir une gridview et exporter les données sous Excel, en utilisant Ajax. Le remplissage de la gridview marche bien mais pas l'export des données. Le code est bien exécuté mais le fichier n'est pas généré. Voici mon code :

Page ASP.NET :

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
 
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
   <progresstemplate>
      Traitement en cours... Merci de patienter.
   </progresstemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
   <ContentTemplate>
      <telerik:radgrid id="dgd_Ecluse" runat="server" visible="false"></telerik:radgrid>
   </ContentTemplate>
   <triggers>
      <asp:AsyncPostBackTrigger EventName="Click" ControlID="btnRafraichir" />
      <asp:AsyncPostBackTrigger EventName="Click" ControlID="btnExport" />
   </triggers>
</asp:UpdatePanel>
Code behind pour l'export Excel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment;filename=MonFichier.csv");
Response.ContentEncoding = Encoding.Default;
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
Response.Write(sbLignes.ToString());
Response.Flush();
Response.End();
Si jamais j'enlève le trigger sur le bouton btnExport, la génération du fichier Excel marche bien et il me propose de l'ouvrir ou de l'enregistrer, mais dans ce cas là, l'UpdateProgress n'est pas déclenché (et vu que le traitement est un peu long, c'est problématique).

Si vous avez une solution, je vous en serais grandement reconnaissant
Merci d'avance.