使用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中文网其他相关文章!