2010-06-24 5 views
0

Ce code est dans control.ascx et le contrôle est placé dans la page ModalPopup.aspx.Réponse d'un fichier xml dans une fenêtre contextuelle modale

Premier essai avec response.end() - cette exception de lancement de code. Après avoir essayé cette ligne, mais rien n'est hapen.

Browser est IE8

try 
    { 
     //export 
     StringBuilder sb = ExportToExcelXml(); 
     System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding(); 
     byte[] byteText = encoding.GetBytes(sb.ToString()); 

     Response.Clear(); 
     Response.Charset = "utf-8"; 
     Response.ContentType = "text/xls"; 
     Response.AddHeader("content-disposition", "attachment; filename=export.xls"); 
     Response.BinaryWrite(byteText); 
     //Response.End();   
    } 
    catch (Exception ex) 
    { 
+0

j'ai oublié de dire, ce contrôle quand est mis dans la page ASPX NON MODAL POPUP - fonctionne bien – Artiom

+0

Je suis également confronté au même problème, le téléchargement ne fonctionne pas dans les popups Modal. Avez-vous trouvé la solution/solution de contournement pour cela? –

Répondre

0

Une fois la réponse a été commencé, vous ne pouvez pas l'effacer et changer son type de contenu. Dans le cas d'un fichier .ascx, vous êtes dans un fichier .aspx qui a probablement déjà commencé à remplir la réponse. Pouvez-vous déplacer cela vers un fichier .ashx (Generic Handler) à la place?

+0

je ne parle pas de .ashx je vais étudier. – Artiom

Questions connexes