2012-03-22 25 views
0

我有一個ASPX頁面,其中有一個iFrame,它的源代碼也是一個ASPX文件,在同一個域上。我想要做的是 - 在父ASPX文件中設置Session變量,然後在iFrame中加載的文件中訪問該變量。然而,我的內部文件(加載在iFrame中)似乎無法識別來自父文件的會話變量,我只是簡單地得到了一個「對象引用未設置爲對象實例」的錯誤,讀取Session變量的值。有誰能給我提示我做錯了什麼嗎?嵌套的ASP.NET頁面不能訪問彼此的會話變量

謝謝!

+1

iframe中的頁面是否作爲與父頁面相同的IIS應用程序的一部分託管?如果不是,這兩個webapps是否使用相同的應用程序池? – 2012-03-22 05:43:54

+0

另外,Web場中是否有多臺服務器? – 2012-03-22 05:44:33

+0

iFrame中的頁面只是同一網站根目錄中文件夾中的頁面。父母和孩子的所有設置都相同。 – cycero 2012-03-22 05:46:16

回答

0

感謝您的回覆。我真的解決了這個問題。這種情況是,父文件所在的文件夾是一個應用程序,而那個孩子(在iFrame中加載的)在該應用程序之外。簡單地刪除應用程序,它工作。

0

您在創建此會話變量時在父頁面的哪個事件中?我很確定,這是一個頁面生命週期問題。當您在子頁面中擊中會話變量時,會話變量尚未由父頁面創建。在包含行的會話變量上放置斷點並查看哪一個是首先執行的。

+0

我在父頁的Page_Load事件中創建Session變量。但我也試圖做相反的事情,在子頁面的Page_Load中創建Session變量並在父項中訪問它 - 效果相同。 – cycero 2012-03-22 06:03:31