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");
}
代码工作正常但是当我们移动到其他页面然后返回主页时,计时器重新启动。 我怎么能克服这个?请帮忙
答案 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)
制作母版页并在那里使用计时器进行操作
或
您可以将计时器的计数器发送到下一页,然后使用计时器进行相同的操作