如何在asp.net中插入倒数计时器c#

时间:2010-11-13 06:24:32

标签: c# asp.net ajax

HII 我想在我的项目中插入一个倒数计时器。现在我正在使用以下代码:

{

    DateTime dt = (DateTime)Session["end_t"];
    DateTime dt_curr = DateTime.Now;
    TimeSpan ts = dt - dt_curr;
    lblTimer.Text = ts.Hours.ToString() + ":" + ts.Minutes.ToString() + ":" + ts.Seconds.ToString();
    if (ts.Minutes == 0)
    {
        Timer1.Enabled = false;
        Response.Redirect("~/Online Exam/result2.aspx");
    }

代码工作正常但是当我们移动到其他页面然后返回主页时,计时器重新启动。 我怎么能克服这个?请帮忙

2 个答案:

答案 0 :(得分:1)

看起来您正在重置每个页面加载的结束时间,可能是通过执行以下操作:

protected void Page_Load(object sender, EventArgs e)
{
    DateTime start_time = DateTime.Now;
    DateTime end_time = start_time.AddMinutes(15);
    Session["end_t"] = end_time;
}

相反,只有在计时器尚未运行时才应存储结束时间:

protected void Page_Load(object sender, EventArgs e)
{
    if (Session["end_t"] == null) {
        DateTime start_time = DateTime.Now;
        DateTime end_time = start_time.AddMinutes(15);
        Session["end_t"] = end_time;
    }
}

答案 1 :(得分:0)

制作母版页并在那里使用计时器进行操作 或
您可以将计时器的计数器发送到下一页,然后使用计时器进行相同的操作