2010-02-13 74 views

回答

0

一旦對給定的URL打開彈出窗口,就不能使用服務器端腳本來重定向父級。您需要使用彈出窗口裏面的javascript:

if (opener && !opener.closed) { 
    opener.location.href = "http://www.example.com/somenewurl"; 
} 
1

我假設你想做到這一點,當用戶按下彈出按鈕或東西。您可以使用ClientScript.RegisterStartupScript函數來讓ASP.Net將JavaScript放在正確的位置,以便在回發完成後立即執行它。事情是這樣的......

public void RedirectParent(string url) 
{ 
    string js = ""; 
    js += "window.opener.location.href='" + url + "';"; 
    js += "window.close();"; 
    ClientScript.RegisterStartupScript(this.GetType, "redirect", js, true); 
} 

,如果你想保持彈出開放,您可以刪除window.close()的線,但我猜你想自動關閉。

最後一行的「重定向」位就是您想要分配給腳本的名稱 - 這可以是任何您希望的。

+0

謝謝你的回答 – user261568 2010-02-15 08:42:15

相關問題