簡體   English   中英

自動重定向頁面

[英]redirect a page automatically

如何在1分鍾后使用c#代碼自動將ASP.NET頁面重定向到另一個頁面。

您可以使用如下形式:

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

“ 60”是頁面重定向之前等待的時間(以秒為單位)。

嘗試以下一行代碼:這里的5表示5秒后重定向,如果要在1分鍾后重定向,則將其設置為60。

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

您還可以將此代碼放入頁面的Load事件中,以便在加載當前頁面后將其重定向到另一頁面。

由於C#是在服務器端執行的,因此您不能在一段時間后使用C#代碼從服務器端重定向。 您可以通過在HTML中添加meta標簽來做到這一點:

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

您可以使用:

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本質上將處理器置於一個非常緊密的循環中,循環計數由迭代參數指定。 因此,等待時間取決於處理器的速度。

有很多方法可以執行此操作,但是我喜歡使用此代碼,因為在許多不同情況下使用時,它都能很好地工作。

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解決方案。

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

// --></script>

該頁面將在4分鍾后重定向。 您顯然必須將其插入頭部。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM