2010-02-25 10 views
5

Desidero aggiornare una pagina in un momento specifico.Aggiorna pagina in un momento specifico in ASP.NET

Da http-equiv="refresh" content="30" la pagina viene aggiornata molto 30 secondi, ma voglio che la pagina venga aggiornata nel momento specifico. la pagina di esempio viene aggiornata alle 1:30 di ogni giorno.

+1

Qual è il tuo obiettivo, ti preghiamo di spiegare lo scenario? – theklc

+1

Sì, perché senza capire l'obiettivo, questo è un po 'di confusione. Sarai dipendente dal browser aperto, dall'ora locale della macchina, ecc. Ecc. – Kitson

risposta

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

Quindi, utilizzare tale valore per riempire il tag meta refresh. Ovviamente, il loro browser potrebbe non rimanere aperto a lungo, e/o il browser potrebbe non supportare grandi valori.

0

L'aggiornamento della pagina indica l'invio di una richiesta al server. Puoi scrivere un servizio Windows che invia una richiesta alla tua pagina ogni giorno alle 1:30.

3

È possibile utilizzare javascript per creare un timer per il conto alla rovescia che inizia quando la pagina viene caricata nel browser?

Aggiungi questo alla vostra pagina:

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

probabilmente si potrebbe incidere qualcosa insieme in linea per ottenere il numero di millisecondi fino 13:30. Altrimenti basta creare un metodo semplice nel codebehind ...

0

Suggerisco di utilizzare JavaScript per caricare la pagina per calcolare la differenza di orario tra ora e quando si desidera caricare la pagina successiva. Quindi imposta un timeout (window.setInterval) che si verifichi in quel momento. Quindi puoi impostare la "posizione" di JavaScript sulla stessa pagina e presto - la pagina verrà caricata all'ora pianificata.

Jakob mi ha battuto! :)

0

tempo Server mettere questo:

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

per tempo in base client utilizzare il metodo setTimeout javascript.

+0

Questo non funziona, hai controllato questo codice? :) – Vijjendra

Problemi correlati