2011-02-05 126 views
0

允許用戶下拉RDP文件的最佳方式是什麼,但要使用AJAX來做到這一點?換句話說,我有一個超鏈接,我需要用戶下載一個RDP文件,但沒有整頁刷新。使用AJAX下載文件

我試圖使用以下示例爲RDP進行AJAX調用。它似乎適用於Chrome和Firefox,但不適用於任何版本的IE。

String content = <RDP Content Here> 
    Response.Clear(); 
    Response.AddHeader("Content-Disposition", "attachment; filename=HelloWorld.rdp"); 
    Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache); 
    Response.ContentType = "Content-Type=application/x-rdp rdp;charset=ISO-8859-1"; 
    Response.AddHeader("Content-Length", content.Length.ToString()); 
    Response.Write(content); 
    Response.End(); 
+0

我剛剛完成了一個項目,試圖做你在這裏想的東西。對附件Content-Disposition的異步響應對瀏覽器來說沒有任何意義。以下使用達斯汀E的解決方案 - 這是這種情況下的最佳做法。如果您希望將該方法保留在頁面代碼旁邊,我建議在一個新窗口中打開鏈接,並使用查詢字符串參數導致Page_Load執行,並使用上述OP中的代碼調用函數並退出。 – lsuarez 2011-02-05 06:53:00

回答

3

我會創建另一個頁面並將該代碼放在那裏。然後在單擊鏈接時在新窗口中打開該頁面。讓你清除在創建新文件時VS自動生成的任何鍋爐板代碼。這會讓您的數據無需刷新頁面。我用Excel頁面和圖片完成了這個工作,並且像冠軍一樣工作。