我想在特定時間刷新頁面。在ASP.NET中的特定時間刷新頁面
從http-equiv="refresh" content="30"
頁面刷新非常30秒,但是我希望頁面在特定時間刷新。像頁面每天1點30分刷新。
我想在特定時間刷新頁面。在ASP.NET中的特定時間刷新頁面
從http-equiv="refresh" content="30"
頁面刷新非常30秒,但是我希望頁面在特定時間刷新。像頁面每天1點30分刷新。
DateTime targetDate = ...;
long secondsTilRefresh = Math.Floor((targetDate - DateTime.Now).TotalSeconds);
然後,只需使用該值來填充元刷新標記。當然,他們的瀏覽器可能不會長時間保持打開狀態,並且/或者瀏覽器可能不支持較大的值。
刷新頁面意味着向服務器發送請求。您可以編寫一個Windows服務,每天在1:30向您的頁面發送請求。
你可以使用javascript來創建一個倒數計時器,當頁面被加載到瀏覽器中時開始計時?
添加到您的網頁:
<script language="javascript" type="text/javascript">
setTimeout("window.location = 'yourpage.aspx'", <%= CalcMilisecsToNext130pm() %>);
</script>
你也許可以砍東西一起在線獲得的毫秒數,直到下午1:30。否則只是在您的代碼隱藏中創建簡單的方法...
我建議您在頁面加載時使用JavaScript來計算現在和下一次加載頁面之間的時間差。然後設置一個超時(window.setInterval)在那個時候發生。然後,您可以將JavaScript「位置」設置爲同一頁面,並在預定時間將頁面加載。
雅各布打敗我吧! :)
服務器時間把這個:
<% DateTime dte = DateTime.Now; %>
<meta http-equiv="refresh" content="<%=86400 - (((dte.Hour * 60) + dte.Minute) * 60) %>">
客戶端基於時間的使用JavaScript的setTimeout方法。
這是行不通的, 你檢查這段代碼嗎? :) – Vijjendra 2010-03-24 21:11:38
你的目標是什麼?請解釋一下情況? – theklc 2010-02-25 08:15:06
是的,因爲沒有理解目標,這有點令人困惑。你會依賴於瀏覽器被打開,機器的本地時間等,等等... – Kitson 2010-02-25 08:39:27