2008-12-17 75 views
1

有沒有一種方法可以確定在父頁面的window.open()javascript命令打開的子頁面後面的代碼中?確定是否通過window.open()命令打開了aspx頁面

彈出頁面包含其他頁面使用的用戶控件,這些用戶控件不是從window.open()命令產生的,我想在用戶完成其任務後動態添加關閉頁面的功能子頁面。

這是一個ASP.NET C#3.5應用程序。

回答

5

你可以通過查詢字符串中的標誌來指示窗口從哪裏產生?

+0

我在用戶conrtrol上創建了一個屬性,以表明它是否包含由彈出窗口產生的頁面 – 2008-12-17 17:45:40

0

可能是錯誤的,但我不認爲有一個簡單的直接方法來做到這一點。您始終可以嘗試通過不同的網址進行識別,例如「MyChildForm.aspx?從= winopen」

- 編輯 - 通過Galwegian

3

毆打它在JavaScript您可以檢查是否window.opener是空

0

你可以在用戶控件添加一些JavaScript來測試window.opener是否爲非null,並在此基礎上隱藏或顯示關閉頁面UI。

1

對子窗口的請求可能會有一個指向父頁面的HTTP Referer(引用者)標題。您可以在後端檢查,或在客戶端檢查window.opener

+0

我試過這個解決方案,當我嘗試獲取Request.UrlReferrer.AbsolutePath時,它拋出一個NullReferenceException – 2008-12-17 17:28:52

相關問題