2013-07-18 44 views
0

我正在開發一個顯示gridview中datatable內容的網頁。還有一個名爲「發送到Excel」的按鈕。如果用戶點擊這個按鈕,這個程序開始生成報告(將數據表內容寫入Excel文件)。完成後,會出現超鏈接,用戶可以下載Excel文件。在我的網頁上顯示動態數據(Progress)

一些報告很大。所以需要時間來完成Excel文件的生成。

我想在生成excel報告文件的過程中顯示一些信息。像,

生成10條記錄。 生成20條記錄。 生成30條記錄。 .. 完成。

以上內容僅供參考。換句話說,句子被下一句替換。插入數據行在For循環中完成。所以我們可以使用這個for循環來分析進度。我正在使用VB.NET,ajax,jquery,css開發它。

任何想法?請給我一些想法。幫幫我。

讚賞。

+0

儘管我以前從未使用過這種方法,但一種方法是使用[SignalR](http://msdn.microsoft.com/zh-cn/magazine/hh852586.aspx)。然而,更乏味,難以維護的方法是使用JS,AJAX,PocessDelegate,WebMethod,Session,以及完全中止流程支持的組合。我之前使用過這種方法,它的功能就像一個魅力。 – ajakblackgoat

回答

0

你已經遇到了Web開發的一個經典問題。在服務器處理請求時,您無法更新UI。或者,相反,您不能在單個請求過程中在客戶端和服務器之間進行來回通信。

您可以讓請求產生一個新的線程來實際執行處理,所以請求立即返回。讓處理線程更新具有進度狀態的數據庫,並讓客戶端使用ajax持續輪詢數據庫以獲取進度。