自动重定向页面

如何使用c#代码在1分钟后自动将ASP.NET页面重定向到另一个页面。

你可以使用这样的东西:

  

“60”是页面重定向之前等待的时间(以秒为单位)。

试试这一行代码:这里5表示5秒后重定向,如果你想在1分钟后重定向,则表示60。

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

此代码也可以放入页面的Load事件中,以便在加载当前页面后重定向到另一个页面。

由于C#在服务器端执行,因此在服务器端经过一段时间后,您无法使用C#代码进行重定向。 您可以通过在HTML中使用元标记来执行此操作:

  

您可以使用C#编写代码来创建此标记,以下是一个示例:

 HtmlMeta meta = new HtmlMeta(); HtmlHead head = (HtmlHead)Page.Header; meta.HttpEquiv= "refresh"; meta.Content = "300; url=newlocation"; head.Controls.Add(meta); 

你可以这样做:

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

编辑:

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

注意:SpinWait参数是循环计数而不是秒,如上所示。

摘自MSDN页面http://msdn.microsoft.com/en-us/library/system.threading.thread.spinwait.aspx

SpinWait方法对于实现锁定非常有用。 .NET Framework中的类(如Monitor和ReaderWriterLock)在内部使用此方法。 SpinWait本质上将处理器置于一个非常紧密的循环中,循环计数由iterations参数指定。 因此,等待的持续时间取决于处理器的速度。

有很多方法可以做到这一点,但我喜欢使用这个代码,因为它在许多不同的情况下使用时效果很好。

 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); 

在客户端上执行此操作比在服务器上执行此操作更好。

您需要使用javascript设置计时器,然后重定向。

请参阅以下有关如何重定向的信息: 如何在JavaScript / jQuery中重定向到另一个网页?

对于计时器看到这个:
循环计时器在JavaScript中

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

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

我喜欢用JavaScript做我的东西:-)我喜欢JS。 这是我的JS解决方案。

  

该页面将在4分钟后重定向。 你必须明显插入头部。