2010-07-12 42 views
0

我使用Response.Write,Response.End導出到Excel/Word/csv。有沒有辦法做到這一點,也可以同時更改頁面上的文字?例如,我在UpdatePanel中有一個控件,我想使其可見/不可見。Excel導出後更新ASP.NET頁面

回答

2

通過AJAX動作更新您的頁面,並在此過程中寫出一些調用實際導出的獨立頁面/處理程序的JavaScript。

if (exporting) 
{ 
    string cacheID = Guid.NewGuid().ToString(); 
    Session[cacheID] = ...data or query to export... 
    ScriptManager.RegisterStartupScript(Page, 
      Page.GetType(), 
      cacheid, 
      "window.location = '/download.ashx?cacheid=" + cacheID + "';", 
      True); 
} 
+0

這不適用於服務器羣。 – SLaks 2010-07-12 19:50:37

+2

@SLaks - 取決於你的會話存儲在哪裏。我假設在一個集羣或負載平衡的環境中,你會將這些會話存儲在數據庫中。但是,在這種情況下,我可能會存儲生成查詢的方式而不是查詢的結果。 – tvanfosson 2010-07-12 19:53:00