-1

我在 Web 应用程序中使用计时器控件。我使用带有下拉列表的 div,其中包含分钟值,例如 10、20、30。根据获取数据方法,默认情况下 div 不可见 div 将可见。现在使用这个下拉菜单,我将选择分钟并添加当前时间并设置会话变量中的总时间。并得到这个计算的时间并给出计时器的间隔现在我想使用刻度事件根据指定的时间段显示我的 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;
    }

}
4

1 回答 1

-1

我可能误解了你试图做什么,但你实际上并没有在代码中的任何地方启动你的计时器,所以你的计时器永远不会真正运行,你需要使用tmrReminder.Start()并且你还需要设置一个new ElapsedEventHandlerie

tmrReminder.Elapsed += new ElapsedEventHandler('method to be run when time elapses');
于 2013-06-14T11:11:58.367 回答