2010-09-06 3 views
3

Mon scénario est que j'ai un nom de page UserMain.aspx et dans cette page j'ai 2 sections (ie2 IFrame s). Maintenant de l'une des IFrame pages je veux obtenir parentUrl (c.-à-d. www.xyz/UserMain.aspx). J'ai essayé le Request.url mais il donne l'URL de IFrame, comment obtenir le parentUrl? Les pages IFrame et les pages parent sont sur le même domaine.Comment saisir l'URL parent à partir d'un iFrame en utilisant C#

Répondre

5

Les différentes fenêtres et iframes existent uniquement dans le navigateur, le code serveur n'a aucun moyen de naviguer entre eux.

En ClientScript vous pouvez accéder à l'URL de la fenêtre parent, étant bien entendu que la page et iframe est du même domaine:

var parentUrl = window.parent.location.href; 
+0

si Thr n'y a aucun moyen de le faire à partir du code back-end par exemple C# code .. script client est la seule façon .. thnx – FosterZ

+0

@Fosterz: Vous pouvez définir votre code derrière variable à partir votre javascript; par exemple comme '<% strParentUrl%> = parentUrl'. –

+0

@KMan: Qu'est-ce qui vous permet de penser que quelque chose comme ça fonctionnerait? – Guffa

0

vous pouvez le faire à travers un script côté client à l'aide window.parent.location.href. Cela fonctionne dans le cas où vous avez un iframe au premier niveau dans une page chargée. Si vous avez plusieurs niveaux de hiérarchie, comme iframe dans iframe ... alors vous pouvez utiliser window.top.location.href. Window.top vous amène toujours à la fenêtre parent la plus haute.

+0

Je veux enregistrer cette parentUrl à une session, donc je veux saisir parentUrl du code C#, comment faire cela? – FosterZ

+0

@Fosterz - Comme d'autres l'ont suggéré, vous pourriez ne pas être en mesure d'obtenir cette information du côté serveur, cependant, vous pouvez avoir un contrôle caché (comme la zone de texte ou l'étiquette), définir la valeur par javascript et vous pouvez l'obtenir valeur de votre côté serveur en obtenant de la valeur de ce hiddencontrol. –

+0

"HttpContext.Current.Request.Url.AbsoluteUri" indique l'URL actuelle et non l'URL parent. – FosterZ

9

Vous pourriez essayer d'utiliser ce qui suit. Je l'ai essayé dans une de mes solutions mais ce n'était pas tout à fait ce dont j'avais besoin. Peut-être que cela vous aidera

Request.UrlReferrer.OriginalString.ToString(); 
1
string UrlBrowser= Request.UrlReferrer.OriginalString; 
Questions connexes