如何使用c#代码在1分钟后自动将ASP.NET页面重定向到另一个页面。
答案 0 :(得分:18)
您可以使用以下内容:
<meta http-equiv="Refresh" content="60; url=http://your.new/url/here" />
“60”是页面重定向之前等待的时间(以秒为单位)。
答案 1 :(得分:10)
试试这一行代码: 这里5表示5秒后重定向,如果你想在1分钟后重定向,则表示60。
protected void btnRedirect_Click(object sender, EventArgs e)
{
Response.AddHeader("REFRESH", "5;URL=YourNextPage.aspx");
}
此代码您还可以放入页面的Load
事件,以便在加载当前页面后重定向到另一个页面。
答案 2 :(得分:6)
由于C#在服务器端执行,因此在服务器端经过一段时间后,您无法使用C#代码进行重定向。您可以通过在HTML中使用元标记来实现此目的:
<meta http-equiv="refresh" content="300; url=newlocation">
您可以使用C#编写代码来创建此标记,以下是一个示例:
HtmlMeta meta = new HtmlMeta();
HtmlHead head = (HtmlHead)Page.Header;
meta.HttpEquiv= "refresh";
meta.Content = "300; url=newlocation";
head.Controls.Add(meta);
答案 3 :(得分:2)
你可以使用:
System.Threading.Thread.Wait(60);
Response.Redirect("Somepage.aspx");
编辑:
System.Threading.Thread.SpinWait(60);
Response.Redirect("Somepage.aspx");
答案 4 :(得分:2)
注意:SpinWait参数是循环计数而不是秒,如上所示。
摘自MSDN网页http://msdn.microsoft.com/en-us/library/system.threading.thread.spinwait.aspx
SpinWait方法对于实现锁定非常有用。 .NET Framework中的类(如Monitor和ReaderWriterLock)在内部使用此方法。 SpinWait本质上将处理器置于一个非常紧密的循环中,循环计数由iterations参数指定。因此,等待的持续时间取决于处理器的速度。
答案 5 :(得分:1)
有很多方法可以做到这一点,但我喜欢使用这个代码,因为它在许多不同的环境中使用时效果很好。
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);
答案 6 :(得分:0)
在客户端上执行此操作会比在服务器上执行此操作更好。
您需要使用javascript设置计时器,然后重定向。
请参阅有关如何重定向的信息: How to redirect to another webpage in JavaScript/jQuery?
查看此计时器:
Loop timer in javascript
http://www.w3schools.com/js/js_timing.asp
http://www.elated.com/articles/javascript-timers-with-settimeout-and-setinterval/
答案 7 :(得分:0)
我喜欢用JavaScript做我的东西:-)我喜欢JS。这是我的JS解决方案。
<script type="text/javascript"><!--
setTimeout('Redirect()',4000);
function Redirect()
{
location.href = 'your-redirect-to-link';
}
// --></script>
页面将在4分钟后重定向。你必须明显插入头部。