簡體   English   中英

在C#中重新重定向頁面之前設置超時

[英]set Timeout before redirrect page in C#

如何在此代碼中實現超時:

Response.Write(@"<script language='javascript'>alert('some alert');</script>"); 
Response.Redirect(Request.ApplicationPath);

我想顯示給用戶消息,並重定向后。 但是在我的解決方案中,操作發生得非常快,並且沒有顯示警報。

謝謝

刪除Response.Redirect並執行

Response.Write(@"
<script language='javascript'>
 alert('some alert');
  self.location = "/mypage.aspx";
</script>");

代碼中的任何response.redirect將忽略任何已發送到瀏覽器的內容

您可以使用META Refresh標簽。 即使禁用了Javascript,也可以執行重定向。 下面的10是完成重定向之前的超時(以秒為單位):

<meta http-equiv="refresh" content="10;url=<%=Request.ApplicationPath %>">
<script>alert('some alert');</script>

更新:

至少在Firefox和Chrome中,超時從用戶單擊“確定”開始。 通過發送更多內容可以將您的文本放在頁面上,而不是放在警報框中,例如:

<meta http-equiv="refresh" content="10;url=<%=Request.ApplicationPath %>">
<p class="alert">some alert</p>

使用Response.Redirect,您可以將http 302代碼發送到瀏覽器,“強制”它以請求另一個頁面。 因此,您的警報代碼什么也沒有發生。

如果您想通知用戶有關轉移的信息,則可以打印帶有消息和元刷新間隔的頁面。 或者您可以通過javascript處理它:

1)打印警報

2)將window.location更改為新路徑

暫無
暫無

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

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