当前位置: 代码迷 >> ASP.NET >> 小弟裸体天寒地冻空翻1800度倒立跪求定时提醒功能实现
  详细解决方案

小弟裸体天寒地冻空翻1800度倒立跪求定时提醒功能实现

热度:611   发布时间:2013-02-25 00:00:00.0
小弟裸体冰天雪地空翻1800度倒立跪求定时提醒功能实现
我在前台页面里写了<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 可以考虑一下,可以定时,满足你的要求