ASP.NET AJAX - Timer 控制項之擺放位置的影響

摘要:ASP.NET AJAX - Timer 控制項之擺放位置的影響

ASP.NET AJAX 所提供的  Timer  控制項是一個伺服器控制項,它能夠定時引發全網頁回傳,當然,在搭配了 UpdatePanel 控制項之後,就可以定時引發非同步回傳並局部更新 UpdatePanel 控制項的內容。 

在此要請大家注意,如果您將 Timer 控制項擺在 UpdatePanel 控制項之內,則 JavaScript 計時元件只有在每一次回傳完成時才會重新建立,此意味著,直到網頁回傳之前,計時器間隔時間不會從頭計算。舉例來說,假設您將 Timer 控制項的 Interval 屬性設定成10000毫秒(也就是 10 秒),但是回傳作業本身卻花了2秒鐘才完成,則下一次的回傳將發生在前一次回傳被引發之後的12秒鐘。 

然而如果 Timer 控制項位於 UpdatePanel 控制項之外,則當回傳正在處理時,JavaScript 計時器元件仍然會持續計時。比方說,假設您將 Timer 控制項的 Interval 屬性設定成10000(也就是10秒鐘),而且回傳作業花了 2 秒鐘才完成,即使如此,下一次的回傳仍將發生在前一次回傳被引發之後的 10 秒鐘。也就是說,對使用者而言,在UpdatePanel控制項的內容被更新之後的8秒鐘,就會看到UpdatePanel控制項再度被更新。 

章立民研究室 2006/12/26