2010-06-24 92 views
6

我有一個使用jQuery和AJAX調用服務器端腳本來創建一個文本文件,並返回以下響應按鈕:使用jQuery和Ajax將文件保存在ASP.Net

Response.ContentType = "csv"; 
Response.AddHeader("Content-disposition", "attachment; filename=" + fName); 
Response.ContentType = "application/octet-stream"; 
Response.BinaryWrite(btFile); 
Response.End(); 

然而,保存對話框不會出現。 如果我不使用ajax並使用相同的代碼執行完整回發,它將起作用。有任何想法嗎?

這裏是jQuery代碼:

$(function() { 
    $('#reportButton').click(function() { 
     $.ajax({ 
      type: "POST", 
      url: "GenerateReport.aspx", 
      data: "id=0", 
      success: function(){ 
      } 
     }); 
    }); 
}); 

回答

3

而不是使用AJAX(這不會像Brian所說的那樣工作),您可以使用jQuery來動態創建表單和iframe以將其發佈到。 Here is an example I found - 您應該通讀一些改進的評論(如使用動態創建的iframe來防止問題,如果您的頁面沒有返回正確的標題)。

1

我認爲這個問題是AJAX,如果有人要求在jQuery之外的標準要求,你會得到保存對話框。 JQuery請求將流式傳輸數據回調...