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控件再度被更新。