-1

Web アプリケーションでタイマー コントロールを使用しています。10、20、30 などの分の値を含むドロップダウン付きの div を使用しています。このドロップダウン メニューを使用して分を選択し、現在の時刻を追加して、セッション変数の合計時間を設定します。この計算された時間を取得し、タイマーの間隔を指定します。ティックイベントを使用して指定された期間に従ってdivを表示したい.my 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()、IEをセットアップする必要がありますnew ElapsedEventHandler

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