2012-01-04 31 views
1

我有一個ASP腳本生成頁面內容以響應一些GET參數。服務器生成時顯示加載屏幕頁面

有時頁面生成需要一些時間(運行數據庫查詢等),我想在頁面加載時向用戶顯示某些內容。這樣做的標準方式是什麼?

我目前沒有在頁面上使用AJAX。

回答

2

可以使用Response.Flush迫使一些瀏覽器:

Response.Write("<div id=""preloader"">Loading, please wait...</div>") 
Response.Flush() 
'long running code... 
'long running code... 
'long running code... 
Response.Write("<script type=""text/javascript"">document.getElementById(""preloader"").style.display = ""none"";</script>") 
+0

完美,這正是我需要的。 – Flash 2012-01-10 02:51:01

+0

@Andrew隨時歡呼。 :) – 2012-01-10 07:38:49

3

有沒有原因你不使用AJAX?我在去年夏天的實習中遇到了類似的問題。起初,我決定忽略AJAX,部分原因是由於懶惰,不想學習javascript/ajax的用法。然而,越來越明顯的是,沒有ajax,用戶體驗受到嚴重阻礙(由於您在此討論的類似事情......長期服務器端操作)。

如果您能夠「AJAXify」您的應用程序,那麼我想您可以在請求初始化時添加一個加載映像,然後在異步調用返回時將其替換爲給定內容。 Jquery使用各種AJAX工具和回調函數使這種事情變得非常簡單。

當然,你可能已經意識到所有這些......所以請原諒我,如果我只是重申明顯!