使用Response.Redirect在新的瀏覽器視窗中開啟頁面
本文介紹如何使用ASP.NET的Response.Redirect方法跳到新頁面,並使其在新瀏覽器視窗中打開,無需使用JavaScript註冊腳本。
只需在伺服器端連結或按鈕中新增屬性"OnClientClick='aspnetForm.target = '_blank';'"
。這將指示瀏覽器在新瀏覽器標籤頁中開啟連結目標。
例如:
<code><asp:LinkButton ID="myButton" OnClick="myButton_Click" OnClientClick="aspnetForm.target='_blank';" runat="server" Text="点击我!"></asp:LinkButton></code>
在伺服器端,在OnClick事件處理程序中執行Response.Redirect("MyPage.aspx")
程式碼,頁面將在新視窗中開啟。
然而,這種設定可能會導致頁面上的所有連結都在新視窗中開啟。為了解決這個問題,請在彈出視窗的頭部添加以下腳本:
<code class="language-javascript">function fixform() { if (opener.document.getElementById("aspnetForm").target != "_blank") return; opener.document.getElementById("aspnetForm").target = ""; opener.document.getElementById("aspnetForm").action = opener.location.href; }</code>
並在彈出視窗的<body>
標籤中加入"onload='fixform()'"
。這確保了當彈出視窗關閉時,表單的目標將重設為其原始值。
透過以上方法,您可以有效控制頁面跳轉,避免所有連結都在新視窗開啟的問題,從而實現更精細的頁面跳轉管理。
以上是如何在 ASP.NET 中使用 Response.Redirect 開啟新的瀏覽器視窗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!