使用 Response.Redirect 開啟新的瀏覽器視窗
Web 開發人員通常需要將使用者重新導向到新頁面,而不中斷他們目前的瀏覽工作階段。 雖然 Response.Redirect
很常用,但在單獨的視窗中開啟新頁面可能會很棘手。 本指南概述了解決方案。
關鍵是客戶端和伺服器端技術的結合:
客戶端目標修改: 將屬性 OnClientClick="aspnetForm.target='_blank';"
新增至伺服器端連結或按鈕。這會強制瀏覽器在新分頁或視窗中開啟連結。
防止全域新視窗行為: 要避免在新視窗中開啟所有 鏈接,請將此 JavaScript 函數新增至彈出視窗的標題:
<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>
onload="fixform()"
標籤中包含 <body>
。這可確保 fixform()
函數在頁面載入時執行,從而修正表單的目標屬性。 透過實現這三個步驟,Response.Redirect("MyPage.aspx")
事件中對 OnClick
的伺服器端呼叫將在新的瀏覽器視窗中成功開啟“MyPage.aspx”,保持原始頁面完好無損。
以上是如何使用 Response.Redirect 重定向到新的瀏覽器視窗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!