停止并重新启动ASP.NET计时器

时间:2013-05-06 03:40:14

标签: asp.net timer updatepanel

我的网页上有一个ASP.NET Timer控件。

计时器用作UpdatePanel的触发器。加载此面板的内容后,我在代码中使用Timer.Enabled = false;禁用定时器。这会禁止Timer触发Tick事件。

如果用户希望在按钮点击时重新运行代码,我想重新启动此计时器。但是,如果我在按钮单击事件中使用Timer.Enabled = true;,它只会在页面回发时启用计时器。显然,这不是我想要的行为。

我尝试使用javascript,

做同样的事情
var timer = $find('<%=TimerAH.ClientID %>');
timer._startTimer();
//timer.set_enabled(true);

此代码也没有帮助。如果有人能帮助我解决这个问题,我将不胜感激。感谢。

1 个答案:

答案 0 :(得分:2)

您可以轻松使用ASP.NET计时器的这些客户端站点功能。

但请注意,以下划线开头的Javascript功能<常规私人功能。它们可以由作者更改,但我认为可以安全使用,因为微软知道它可以提供向后兼容性。

Controlling the ASP.NET Timer Control with JavaScript

    var timer = $find(‘<%= Timer1.ClientID %>’);

    //returns the timer’s interval in milliseconds: 
    var waitTime = timer.get_interval;       

    //sets the timer’s interval to 5000 milliseconds (or 5 seconds): 
    timer.set_interval(5000);       

    //returns whether or not the timer is enabled: 
    var isTimerEnabled = timer.get_enabled();       

    //disables the timer: 
    timer.set_enabled(false);       

    //starts the timer: 
    timer._startTimer();       

    //stops the timer: 
    timer._stopTimer();