我在前台页面里写了<meta http-equiv="refresh" content="60"> 每分钟刷新一次,后台代码如下    private void timeSpanRemind()
    {
        DataTable dt = getRemindTime();
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            if (dt.Rows[i]["IsRemind"].ToString() == "True")
            {
                DateTime nowtime = DateTime.Now;
                string temp = dt.Rows[i]["RemindTime"].ToString() + ":00";
                DateTime remindtime = DateTime.Parse(temp);
                int timespan = int.Parse(dt.Rows[i]["TimeSpan"].ToString());
                int advancetime = int.Parse(dt.Rows[i]["AdvanceTime"].ToString());
                string title = dt.Rows[i]["Title"].ToString();
                Timer timer = new Timer();
                timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
                double ts = timespan * 60000;
                timer.Interval = ts;                if (DateDiff(remindtime, nowtime) == advancetime)
                {
                    Page.RegisterStartupScript("", "<script>alert('" + temp + ",行动主题:" + title + "。离您的预约时间还有" + advancetime + "分钟,请查看日程安排!')</script>");
                }
                if (DateDiff(remindtime, nowtime) < advancetime)
                {
                    timer.Enabled = true;
                    timer.Start();
                }
            }
        }
    }
     //这是2个时间差的方法
    private int DateDiff(DateTime DateTime1, DateTime DateTime2)
    {
        int dateDiff = 0;
        try
        {
            TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
            TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
            TimeSpan ts = ts1.Subtract(ts2).Duration();
            dateDiff = ts.Minutes;
        }
        catch(Exception ex)
        {
            Page.RegisterStartupScript("", "<script>alert('"+ex.Message+"')</script>");
        }
        return dateDiff;
    }    private void timer_Elapsed(object source, ElapsedEventArgs e)
    {
        Page.RegisterStartupScript("", "<script>alert('离您的预约时间就快到了!请查看日程表!')</script>");
    }timer_Elapsed里的内容没执行过,,,,,,,大家帮帮忙吧,,,非常急!!!!!!!!!!!!3QQQQQQ

解决方案 »

  1.   

    我在page_load方法里调用了timeSpanRemind()方法
      

  2.   

    这也每人来?“???CSDN没高手了?
      

  3.   

    这样做的效率比较低
      每分钟页面都要重新加载 一次
      
      你可以用ajaxpro+js实现
     在js中使用setTimeout每隔60秒调用一次服务器方法  而且看不到刷新效果
      

  4.   

    mylibin 同志 我急切的需要例子~~~~~~~~~~~~~~~~~~~~~~~~~能给出代码吗????????
      

  5.   

    ajax.net,有个Timer控件,应该可用吧。
      

  6.   

    ajax.net 可以考虑一下,可以定时,满足你的要求
      

  7.   

    .net中的timer只有再AJAX框架下可以用。确认下有没有AJAX框架。