2010-02-25 56 views
5

我想在特定時間刷新頁面。在ASP.NET中的特定時間刷新頁面

http-equiv="refresh" content="30"頁面刷新非常30秒,但是我希望頁面在特定時間刷新。像頁面每天1點30分刷新。

+1

你的目標是什麼?請解釋一下情況? – theklc 2010-02-25 08:15:06

+1

是的,因爲沒有理解目標,這有點令人困惑。你會依賴於瀏覽器被打開,機器的本地時間等,等等... – Kitson 2010-02-25 08:39:27

回答

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

然後,只需使用該值來填充元刷新標記。當然,他們的瀏覽器可能不會長時間保持打開狀態,並且/或者瀏覽器可能不支持較大的值。

0

刷新頁面意味着向服務器發送請求。您可以編寫一個Windows服務,每天在1:30向您的頁面發送請求。

3

你可以使用javascript來創建一個倒數計時器,當頁面被加載到瀏覽器中時開始計時?

添加到您的網頁:

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

你也許可以砍東西一起在線獲得的毫秒數,直到下午1:30。否則只是在您的代碼隱藏中創建簡單的方法...

0

我建議您在頁面加載時使用JavaScript來計算現在和下一次加載頁面之間的時間差。然後設置一個超時(window.setInterval)在那個時候發生。然後,您可以將JavaScript「位置」設置爲同一頁面,並在預定時間將頁面加載。

雅各布打敗我吧! :)

0

服務器時間把這個:

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

客戶端基於時間的使用JavaScript的setTimeout方法。

+0

這是行不通的, 你檢查這段代碼嗎? :) – Vijjendra 2010-03-24 21:11:38