我在前台页面里写了<meta http-equiv="refresh" content="60"> 每分钟刷新一次,后台代码如下
- C# code
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
------解决方案--------------------------------------------------------
为什么不直接用js的settimeout或者 setinterval来实现呢
web里没尝试用过timer
帮顶一下
------解决方案--------------------------------------------------------
这样做的效率比较低
每分钟页面都要重新加载 一次
你可以用ajaxpro+js实现
在js中使用setTimeout每隔60秒调用一次服务器方法 而且看不到刷新效果
------解决方案--------------------------------------------------------
因为你的定时刷新代码方法没执行
------解决方案--------------------------------------------------------
ajax.net,有个Timer控件,应该可用吧。
------解决方案--------------------------------------------------------
ajax.net 可以考虑一下,可以定时,满足你的要求