我在web应用程序中使用计时器控件。我使用带有下拉列表的div,其中包含10,20,30的分钟值。默认div根据get data方法div是不可见的。现在使用此下拉菜单,我将选择分钟并添加当前时间并设置会话变量中的总时间。并获得这个计算的时间,并给出计时器的间隔现在我想根据指定的时间段使用tick事件可见我的div。我的div不显示指定的时间,请帮我解决这个问题。
private void BindControl()
{
//ddlTime.Items.Clear();
List<ListItem> items = new List<ListItem>();
items.Add(new ListItem("10", "10"));
items.Add(new ListItem("20", "20"));
items.Add(new ListItem("30", "30"));
ddlTime.Items.AddRange(items.ToArray());
}
private void GetData()
{
ClsCandidateManager ObjCandidateManager = new ClsCandidateManager();
if ((ObjCandidateManager.CountInterviewScheduled() > 0))
{
divReminder.Visible = true;
tmrReminder.Enabled = false;
//if (ddlTime.SelectedIndex > 0)
//{
// ClsSessionManager.SetInterval = (DateTime.Now + (ddlTime.SelectedValue * 1000);
//}
}
DataTable dt = ObjCandidateManager.GetScheduledInterviews();
if (dt != null && dt.Rows.Count > 0)
{
grdInterviewInfo.DataSource = dt;
}
else
{
grdInterviewInfo.DataSource = ClsSingleton.BlankTable;
}
grdInterviewInfo.DataBind();
}
protected void tmrInterview_Tick(object sender, EventArgs e)
{
divReminder.Visible = true;
}
protected void btnOk_Click(object sender, EventArgs e)
{
if (ddlTime.SelectedValue != null)
{
//DateTime dt = DateTime.Now;
ClsSessionManager.SetInterval = DateTime.Now.AddMinutes(Convert.ToInt32(ddlTime.SelectedValue));
tmrReminder.Interval = (ClsSessionManager.SetInterval).Millisecond;
divReminder.Visible = false;
tmrReminder.Enabled = true;
}
}
答案 0 :(得分:-1)
我可能会误解你的尝试是什么,但你实际上并没有在你的代码中的任何地方启动你的计时器,所以你的计时器实际上从未运行,你需要使用tmrReminder.Start()
而你还需要设置new ElapsedEventHandler
即
tmrReminder.Elapsed += new ElapsedEventHandler('method to be run when time elapses');