【发布时间】:2011-07-29 01:24:09
【问题描述】:
我在我的程序中使用 ajax 计时器进行在线测试应用程序。程序按预期运行。
但是,Ajax 计时器也在计算页面加载时间。例如,如果我为一个问题分配 20 秒,则在页面加载后用户将获得少于 20 秒的时间,因为它会计算加载时间。
有什么方法可以禁用计时器并仅在整个页面加载后再次启用它。 或者是否有任何 C# 代码来确定页面是否已完全加载??
谢谢, 吉图
【问题讨论】:
标签: c# asp.net-ajax timer
我在我的程序中使用 ajax 计时器进行在线测试应用程序。程序按预期运行。
但是,Ajax 计时器也在计算页面加载时间。例如,如果我为一个问题分配 20 秒,则在页面加载后用户将获得少于 20 秒的时间,因为它会计算加载时间。
有什么方法可以禁用计时器并仅在整个页面加载后再次启用它。 或者是否有任何 C# 代码来确定页面是否已完全加载??
谢谢, 吉图
【问题讨论】:
标签: c# asp.net-ajax timer
这是预期的行为。计时器在容器中的位置决定了在间隔之间触发所需的时间量。例如,如果将其放置在 UpdatePanel 中,则在第一次触发后加载 UpdatePanel 的内容需要花费时间 + 设置下一个间隔的间隔。
如果计时器存在于主页本身,并且是 Load 事件需要很长时间来处理,您可以尝试
在页面的OnLoadComplete 事件上执行timer.Start()。
【讨论】:
OnLoadComplete 期间启动计时器,则计时器会在控制事件处理完之后 启动。我建议您检查 ASP.NET 页面生命周期模型以了解原因。