asp:带线程的计时器

时间:2010-12-08 12:11:47

标签: asp.net timer

我的aspx页面上有一个计时器

<asp:Timer ID="timUpdate" runat="server" Enabled="false" Interval="5000" OnTick="timUpdate_Tick"/>  

我在页面上运行不同的线程来计算文档中的单词数。每个线程用于个人页面。

在页面加载时,我启动计时器。它适用于第一个刻度并触发事件

 protected void timUpdate_Tick(object sender, EventArgs e)
{
  if(db.value()==true)
      Response.Redirect("abc.aspx");
    }

我已经检查过,在调试过程中它工作正常,但在我的计时器启用后,间隔相同,但它不会触发事件。可能是什么问题

1 个答案:

答案 0 :(得分:0)

你在aspx中设置了Enable = false,所以我假设你在代码中启用了它。如果你已经禁用了viewstate,那么在回发之后,该属性可能没有持久存在。

您可以通过重新启用方法中的Enabled属性来验证这一点:

protected void timUpdate_Tick(object sender, EventArgs e)
{
    timUpdate.Enabled= true;
    if (db.value()==true)
        Response.Redirect("abc.aspx");
}

这不是一个很好的解决方案,但可能会有效。您可能应该允许持久化控件状态,或者自己在每个页面请求上启用计时器(如果满足所需条件)。