2010-02-25 42 views
5

Quiero actualizar una página en un momento específico.Actualizar página en un tiempo específico en ASP.NET

De http-equiv="refresh" content="30" la página se actualiza muy 30 segundos, pero quiero que la página se renueve en el momento específico. como página se actualiza en 1:30 de cada día.

+1

¿Cuál es su objetivo, explique el escenario? – theklc

+1

Sí, porque sin entender el objetivo, esto es un poco confuso. Dependería de que el navegador esté abierto, la hora local de la máquina, etc., etc. – Kitson

Respuesta

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

Luego, solo use ese valor para completar la metaetiqueta de actualización. Por supuesto, es posible que su navegador no permanezca abierto durante tanto tiempo y/o que el navegador no admita valores grandes.

0

Actualizar la página significa enviar una solicitud al servidor. Puede escribir un Servicio de Windows que envíe una solicitud a su página todos los días a la 1:30.

3

Puede usar javascript para crear un temporizador de cuenta atrás que se inicia cuando la página se carga en el navegador?

Agregue esto a su página:

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

que probablemente se podría hackear algo juntos en línea para obtener el número de milisegundos hasta las 1:30. De lo contrario, cree un método simple en su código detrás ...

0

Le sugiero que use JavaScript en la carga de la página para calcular la diferencia de tiempo entre ahora y cuándo desea cargar la página. Luego configure un tiempo de espera (window.setInterval) para que ocurra en ese momento. A continuación, puede establecer la "ubicación" de JavaScript en la misma página y la página anterior se carga a la hora programada.

¡Jakob me ganó! :)

0

Hora del Servidor poner esto:

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

de tiempo basada en el cliente utilice el método setTimeout Javascript.

+0

Esto no funciona, ¿ha marcado este código? :) – Vijjendra

Cuestiones relacionadas