2012-08-31 67 views

Respuesta

2

utilizando la siguiente etiqueta meta HTML en su cabecera <META HTTP-EQUIV="REFRESH" CONTENT="300"> debe hacer el truco

+0

Sí, esto es de una sola dirección, pero quiero que desde C# –

+2

Una vez que su página se descargue al cliente, la solicitud del servidor está completa. No se ejecuta C# en el cliente y dado que el cliente debe iniciar la actualización, AFAIK: solo puede hacerlo con HTML/Javascript. – InSane

+0

¿por qué? Para el servidor, donde se ejecuta C#, para iniciar la actualización necesitaría mantener un socket (a alambres Web HTML5 o Comling largo). Si solo se trata de una actualización de página, esas técnicas están sobre-ingeniería en mi humilde opinión. –

5

Uno de ellos es el Javascript:

setTimeout("location.reload(true);", timeout); 

La segunda es una etiqueta Meta:

<meta http-equiv="refresh" content="300"> 
+0

Gracias Hans por la edición de la respuesta, aquí se ha intentado editar, pero no por –

+0

Response.AddHeder ("Refresh", "5"); también podemos hacer esto, no estoy seguro de que este sea correcto –

2

Usted puede' t fuerza una página HTML para actualizar desde el lado del servidor. El cliente debe solicitar la página.

Las únicas formas de hacerlo siempre implican utilizar la etiqueta de actualización META, el encabezado Refresh HTTP o, de lo contrario, javascript, lo que obliga a una página a volver a cargar en un intervalo.

Cualquier solución "del lado del servidor" lo hará ya sea escribiendo javascript o la etiqueta META en la página. Simplemente no hay otra manera de hacerlo.

+0

Response.AddHeder ("Refresh", "5"); también podemos hacer esto, no estoy seguro de que esto sea correcto –

+0

Casi. La actualización se realiza en segundos, por lo que debería ser 300. Tiene el mismo efecto que la metaetiqueta, pero ahora el servidor debe inyectarla en la respuesta http en lugar de simplemente descartar el texto en el archivo aspx. Se agregó la mención de ese encabezado a mi respuesta. – dodexahedron

+0

Gracias por la actualización dodexahedron .. –

0

la forma más sencilla es

<Head> 
<meta equiv="refresh" content="5"> 
</Head> 

o utilizar el control de temporizador para refrescar una página por cada cinco minutos por ejemplo: arrastrar y soltar el control del temporizador en form.aspx y en la carga de forma añadir el código como a continuación

<asp:Timer ID="Timer1" runat="server" Interval="6000" ontick="Timer1_Tick" /> 

carga forma

public void DoMagic() 
{ 


} 
protected void Timer1_Tick(object sender, EventArgs e) 
{ 
DoMagic(); 
Label1.Text = ""; 
} 
+0

Los temporizadores ASP.NET no son tan simples. Ellos causan una devolución de datos. Eso significa un montón de javascript y (probablemente) algunos efectos secundarios que el OP probablemente no espera ni desea. – dodexahedron

+0

creo que podría usarse dentro de Ajax o incluso configurar el ispostback para arreglarlo – Hassanation

+1

IsPostback será verdadero, sí. Todavía es mucho más complejo que las otras formas sugeridas aquí, y requiere estar al tanto del estado de la página de devolución de datos. – dodexahedron

0
window.setInterval(function() { 
      // this will execute every 1 second 

      methodCallOrAction(); 

     }, 1000); 



function methodCallOrAction() 
{ 
// u can call an url or do something here 
} 
Cuestiones relacionadas