Response.Redirect to new window我想做一個(gè)Response.Redirect("MyPage.aspx")但是在新的瀏覽器窗口中打開它。我之前沒有使用JavaScript寄存器腳本方法就完成了這個(gè)。我只是不記得怎么了?
3 回答

炎炎設(shè)計(jì)
TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
我剛剛找到答案,它的工作原理:)
您需要將以下內(nèi)容添加到服務(wù)器端鏈接/按鈕:
OnClientClick="aspnetForm.target ='_blank';"
我的整個(gè)按鈕代碼如下所示:
<asp:LinkButton ID="myButton" runat="server" Text="Click Me!" OnClick="myButton_Click" OnClientClick="aspnetForm.target ='_blank';"/>
在服務(wù)器端OnClick我做了一個(gè)Response.Redirect("MyPage.aspx");
頁(yè)面在新窗口中打開。
您需要添加的另一部分是修復(fù)表單的目標(biāo),否則每個(gè)鏈接都將在新窗口中打開。為此,請(qǐng)?jiān)赑OPUP窗口的標(biāo)題中添加以下內(nèi)容。
<script type="text/javascript"> function fixform() { if (opener.document.getElementById("aspnetForm").target != "_blank") return; opener.document.getElementById("aspnetForm").target = ""; opener.document.getElementById("aspnetForm").action = opener.location.href; }</script>
和
<body onload="fixform()">

慕村225694
TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊
因?yàn)镽esponse.Redirect是在服務(wù)器上啟動(dòng)的,所以無法使用它。
如果您可以直接寫入Response流,您可以嘗試以下方法:
response.write("<script>");response.write("window.open('page.html','_blank')");response.write("</script>");
- 3 回答
- 0 關(guān)注
- 559 瀏覽
添加回答
舉報(bào)
0/150
提交
取消