Asp.net-Ajax

如何在 ASP.NET AJAX 中實現文件下載

  • October 24, 2013

我想使用標準的 ASP.NET 文件下載響應,就像其他 Stack Overflow 問題一樣。

Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition","attachment; filename=logfile.txt");
Response.TransmitFile( Server.MapPath("~/logfile.txt") );
Response.End();

但是在更新面板內它不起作用。我必須做什麼,如果在更新面板內觸發下載事件,我將獲得一個文件?

好吧,我在 Encosia 上找到了很好的部落格文章,其中描述了這個 ASP.NET AJAX 文件下載問題的解決方案。它工作得非常好。

http://encosia.com/2007/02/23/ajax-file-downloads-and-iframes/

您需要將其放在不使用 ajax 的單獨 aspx 中。Ajax 正在客戶端更新頁面上現有的 html 標記。您在這裡嘗試的是在向客戶端發送任何內容之前替換伺服器端的響應內容。

你可以試試這個:

有一個名為的頁面Download.aspx,其中包含您已有的傳輸程式碼。

在您的原始頁面中,您有一個呼叫下載頁面的 javascript 呼叫,如下所示:

window.location.replace('Download.aspx');

引用自:https://stackoverflow.com/questions/1332830