2011-09-06 56 views
0

在我父母的網頁我有一個隱藏的控制:獲得父母的隱性控制的iFrame的代碼隱藏

<input type="hidden" id="CaseID" value="" runat="server" /> 

我需要爲我在的iFrame網頁能夠得到C#代碼隱藏這個值。到目前爲止,我沒有成功。

在子頁面的代碼隱藏我已經嘗試了這個變化:

var theParent = this.Page.Parent; 

但我總是得到空回來。

任何援助將不勝感激。

回答

0

從服務器的角度來看,啓動iframe的頁面和該iframe中包含的頁面之間沒有任何關係。它們是兩個完全不同且不相關的HTTP請求。在你的代碼隱藏中,它們沒有共同之處,也沒有辦法從另一個引用。因此,如果需要將數據從一個頁面「移動」到另一個頁面,則需要使用相同的方法。兩種常見的方式(儘管決不是這些唯一的方式或甚至是最好的方式)是:

  • 會話對象。 PageABC可以在會話中存儲一段數據,並且PageXYZ可以從會話中讀取該數據。
  • 請求上的URL參數。 PageABC可以調用一個URL(甚至可以使用它作爲iFrame的SRC,提示提示),如下所示:PageXYZ.aspx?someKey = someValue。 PageXYZ可以從Request對象訪問網址參數(請求[「someKey」])

別的東西來考慮:如果PageABC和PageXYZ一起操作彼此,也許讓他們成爲單獨的頁面是不是最好的做法。 PageXYZ實際上是ControlXYZ幷包含在PageABC中可能更有意義。它仍然可以作爲使用jQuery對話框的彈出窗口呈現給用戶(如果你是受虐狂的,也可以使用UpdatePanels和ModalPopupExtenders;)。