2011-03-06 31 views

Respuesta

17

se puede usar algo como esto:

<meta http-equiv="Refresh" content="60; url=http://your.new/url/here" /> 

El "60" es el tiempo en segundos a esperar antes de redireccionamiento.

+1

+1 excelente respuesta! =) – gideon

0

Hacer esto en el cliente sería mejor que hacerlo en el servidor.

Tendrá que usar javascript para configurar un temporizador y luego redirigirlo.

ver esto en la forma de redirigir: How to redirect to another webpage in JavaScript/jQuery?

ver esto por temporizadores:
Loop timer in javascript

http://www.w3schools.com/js/js_timing.asp

http://www.elated.com/articles/javascript-timers-with-settimeout-and-setinterval/

+1

no tiene que ser javascript – davidsleeps

+0

@david cierto, lo digo como una mejor opción, respuesta editada. – gideon

+0

Mejor es subjetivo. Hay trampas en hacer cosas en JS. – Mike

6

No puede utilizar el código C# para redireccionar después de cierto tiempo desde el lado del servidor, ya que C# se ejecuta en el lado del servidor. Usted puede hacer esto a través de la etiqueta meta en el código HTML:

<meta http-equiv="refresh" content="300; url=newlocation"> 

puede escribir código en C# para crear esta etiqueta, aquí está un ejemplo:

HtmlMeta meta = new HtmlMeta(); 
HtmlHead head = (HtmlHead)Page.Header; 

meta.HttpEquiv= "refresh"; 
meta.Content = "300; url=newlocation"; 
head.Controls.Add(meta); 
2

puede hacerlo usando:

System.Threading.Thread.Wait(60); 
Response.Redirect("Somepage.aspx"); 

Editar:

System.Threading.Thread.SpinWait(60); 
Response.Redirect("Somepage.aspx"); 
+0

Gracias Pooya el código anterior parece correcto pero no funciona. ¿Lo has probado? –

+0

¡Uy! Me perdí algo, debes usar System.Threading.Thread.SpinWait (60) en lugar de esa línea. Buena suerte. – Pooya

+0

Esto no funciona en el contexto de la pregunta del cartel original. – Seany84

2

Nota: El parámetro SpinWait es un recuento cíclico y no segundos, como sugiere lo anterior.

Tomado de la página de MSDN http://msdn.microsoft.com/en-us/library/system.threading.thread.spinwait.aspx

El método SpinWait es útil para implementar las cerraduras. Las clases en .NET Framework, como Monitor y ReaderWriterLock, usan este método internamente. SpinWait esencialmente pone el procesador en un bucle muy cerrado, con el recuento de bucles especificado por el parámetro de iteraciones. La duración de la espera, por lo tanto, depende de la velocidad del procesador.

0

Me encanta hacer mis cosas en JavaScript :-) Me encanta JS. Aquí está mi solución JS.

<script type="text/javascript"><!-- 
setTimeout('Redirect()',4000); 
function Redirect() 
{ 
    location.href = 'your-redirect-to-link'; 
} 

// --></script> 

La página será redirigido después de 4 minutos. Tienes que insertar eso en la cabeza obviamente.

9

Pruebe este código de una sola línea: Aquí 5 significa redirigir después de 5 segundos, y hacerlo 60 si desea redirigir después de 1 minuto.

protected void btnRedirect_Click(object sender, EventArgs e) 
{ 
    Response.AddHeader("REFRESH", "5;URL=YourNextPage.aspx"); 
} 

Este código también se puede poner en Load caso de la página para que se va a redirigir a otra página después de cargar la página actual.

1

Hay muchas maneras de hacerlo, pero me encanta usar este código porque funciona bien cuando se usa en muchas circunstancias diferentes.

HtmlMeta oScript = new HtmlMeta(); 
oScript.Attributes.Add("http-equiv", "REFRESH"); 
oScript.Attributes.Add("content", "60; url='http://www.myurl.com/'"); 
Page.Header.Controls.Add(oScript); 
Cuestiones relacionadas