2013-09-23 47 views
1

我知道這個問題之前已經被問過..事實上很多。但我似乎無法讓輪子開啓這件事。說實話,我在交配客戶端和服務器腳本方面有點失落,我所看到的例子要麼過分簡單化,要麼遠遠超出我的想象。使用異步服務器調用的ASP.NET AJAX進度指示

目標: 我的目標是採取長時間運行的過程,我已經在服務器上寫了VB.NET,這恰好是基於循環的,並計算完成百分比(我知道索引值的範圍)並通過某種方式將其傳回給用戶。

想法: 由於循環迭代,我想傳遞給客戶端一個完整的百分比的整數或從客戶端輪詢它。

我做了什麼: 是非常有限的,我在這裏幾乎沒有任何經驗,我一直在做很多谷歌搜索,我已經玩了AJAX的UpdatePanel和UpdateProgress控件,但這個方法到目前爲止似乎傾向於像GIF這樣的idicator。

一如既往的讚賞,如果我能回答任何問題,我會。

回答

1

您是否考慮過使用內聯框架(iFrame)來託管您的長時間運行的進程並通過長時間運行的.aspx頁面的Response對象向客戶端回報狀態?

如果是這樣,那麼我建議你閱讀Easy incremental status updates for long requests

該示例在用戶單擊後使用按鈕作爲進度顯示,但如果您願意,可以將輸出指向另一個DOM元素。

+0

這看起來很有趣。我已閱讀他的其他一些文章,但我還沒有遇到過這個。使用這種方法是否正確,我認爲按鈕點擊已經照顧了頁面後面的VB,需要拔出並創建一個新的「腳本」aspx頁面?那麼iFrame將會引用,是否正確? –

+0

@TylerAdkins - 是的,您當前的按鈕點擊處理程序代碼應該被拉出到一個新的aspx頁面並被iframe引用,這是正確的。在附註中,我非常喜歡Dave Ward的博客;我只希望他會多發一些帖子;如果您想直接與他聯繫,他對回覆電子郵件和Twitter也非常好。他也在StackOverflow上。 –

+0

我已經開始貫穿這個想法。他的代碼是一個zip文件,並且像一個款待一樣運行,但它是用我不熟悉的C#編寫的。我通過Teleric Converter運行它,但它在VB.NET中正常工作。沒有錯誤不會觸及第二頁。 –