【发布时间】:2023-11-13 18:02:01
【问题描述】:
代码如下所示,我正在使用 Timer 的事件处理程序“ElapsedEventHandler”来调用 Response.AppendHeader 或 Response.Redirect 方法,但我在 Response 对象上得到“对象引用未设置为对象的实例”。有谁可以帮忙吗??
想要动态设置刷新时间,这可以通过添加服务器端代码在 ASP.NET 中完成
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
const double interval60Minutes = 60 * 60 * 1000; // milliseconds to one hour
Timer checkForTime = new Timer(interval60Minutes);
//checkForTime.
checkForTime.Elapsed += new ElapsedEventHandler(checkForTime_Elapsed);
checkForTime.Enabled = true;
}
}
public void checkForTime_Elapsed(object sender, ElapsedEventArgs e)
{
if (timeIsReady(DateTime.Now.ToString("hh:mm tt").ToLower())) //12 Hour Date Format : 03:01 PM
{
System.Web.HttpContext.Current.Response.AppendHeader("Refresh", "2;Slider.aspx");
//Or
//System.Web.HttpContext.Current.Response.Redirect("Slider.aspx");
}
}
private bool timeIsReady(string time)
{
if (time.Contains("07:06 am"))
return true;
else if (time.Contains("08:06 am"))
return true;
else if (time.Contains("09:06 am"))
return true;
else if (time.Contains("10:06 am"))
return true;
else if (time.Contains("11:06 am"))
return true;
else if (time.Contains("00:06 pm"))
return true;
else if (time.Contains("01:06 pm"))
return true;
else if (time.Contains("02:06 pm"))
return true;
else if (time.Contains("03:06 pm"))
return true;
else if (time.Contains("04:06 pm"))
return true;
else if (time.Contains("05:06 pm"))
return true;
else if (time.Contains("06:06 pm"))
return true;
else if (time.Contains("07:06 pm"))
return true;
else if (time.Contains("08:06 pm"))
return true;
else if (time.Contains("09:06 pm"))
return true;
else
return false;
}
【问题讨论】:
-
定时器触发时没有响应。
-
@CodeCaster 任何线索,我们怎样才能做到这一点???
标签: asp.net httpresponse page-refresh response.redirect