我的場景是我有一個頁面名稱UserMain.aspx
,並且在此頁面中我有2個部分(ie2 IFrame
s)。現在從IFrame
頁中的一個我想要得到parentUrl
(即www.xyz/UserMain.aspx
)。我已經嘗試過Request.url
,但它的網址爲IFrame
,如何獲取parentUrl
?如何使用c從iFrame中獲取父網址
IFrame
和父頁面都在同一個域中。
我的場景是我有一個頁面名稱UserMain.aspx
,並且在此頁面中我有2個部分(ie2 IFrame
s)。現在從IFrame
頁中的一個我想要得到parentUrl
(即www.xyz/UserMain.aspx
)。我已經嘗試過Request.url
,但它的網址爲IFrame
,如何獲取parentUrl
?如何使用c從iFrame中獲取父網址
IFrame
和父頁面都在同一個域中。
不同的窗口和iframe僅存在於瀏覽器中,服務器代碼無法在它們之間導航。
在clientscript您可以訪問,當然給出的父窗口的URL,該頁面和iframe是來自同一個域:
var parentUrl = window.parent.location.href;
您可以使用window.parent.location.href
通過客戶端腳本做到這一點。如果你在加載頁面的第一級有一個iframe,這將起作用。如果您擁有更多級別的層次結構,如iframe中的iframe ...則可以使用window.top.location.href
。
window.top總是讓你到最上面的父窗口。
我想保存parentUrl到一個會話,所以我想抓住從C#代碼parentUrl,如何做到這一點? – FosterZ 2010-09-06 11:30:31
@Fosterz - 正如其他人所建議的那樣,您可能無法從服務器端獲取該信息,但是,您可以使用隱藏控件(如文本框或標籤),通過javascript爲它們設置值,然後您可以獲得通過從隱藏控件獲取價值從服務器端獲得價值。 – 2010-09-06 11:37:35
「HttpContext.Current.Request.Url.AbsoluteUri」給出的當前URL不是父url。 – FosterZ 2010-09-06 12:48:15
您可以嘗試使用以下內容。我在我的一個解決方案中嘗試過,但這不是我所需要的。也許它會幫助你
Request.UrlReferrer.OriginalString.ToString();
string UrlBrowser= Request.UrlReferrer.OriginalString;
所以THR沒有辦法從後端代碼做到這一點,即C#代碼..客戶端腳本是唯一的方法..日Thnx – FosterZ 2010-09-06 11:25:41
@Fosterz:您可以從後面設置變量代碼你的javascript;比如像'<%strParentUrl%> = parentUrl'。 – 2010-09-06 11:42:50
@KMan:你認爲這樣的東西會起作用嗎? – Guffa 2010-09-06 12:27:50