在ASP.NET中的特定时间刷新页面

时间:2010-02-25 08:06:10

标签: c# asp.net html

我想在特定时间刷新页面。

http-equiv="refresh" content="30"页面刷新30秒,但我希望页面在特定时间刷新。像页面每天1:30刷新。

5 个答案:

答案 0 :(得分:3)

您可以使用javascript创建倒数计时器,该计时器会在浏览器中加载页面时启动吗?

将此添加到您的页面:

<script language="javascript" type="text/javascript">
  setTimeout("window.location = 'yourpage.aspx'", <%= CalcMilisecsToNext130pm() %>);
</script>

你可能可能会内联起来,直到下午1:30才能获得毫秒数。另外,只需在代码隐藏中创建简单的方法......

答案 1 :(得分:1)

DateTime targetDate = ...;
long secondsTilRefresh = Math.Floor((targetDate - DateTime.Now).TotalSeconds);

然后,只需使用该值填充元刷新标记。当然,他们的浏览器可能不会长时间保持打开状态,和/或浏览器可能不支持大值。

答案 2 :(得分:0)

刷新页面意味着向服务器发送请求。您可以编写一个Windows服务,每天1:30向您的页面发送请求。

答案 3 :(得分:0)

我建议您在页面加载时使用JavaScript来计算现在和下次加载页面之间的时差。然后设置当时发生的超时(window.setInterval)。然后,您可以将JavaScript“位置”设置为同一页面,并在预定时间设置presto-page。

雅各布打败了我! :)

答案 4 :(得分:0)

服务器时间把这个:

<% DateTime dte = DateTime.Now; %>
<meta http-equiv="refresh" content="<%=86400 - (((dte.Hour * 60) + dte.Minute) * 60) %>">

对于基于客户端的时间使用javascript setTimeout方法。