我一直在寻找几个小时但没有找到解决方案。希望你能提供帮助。
我想得到这个名字& Iframe中父页面的路径。这样做的原因是为了防止Iframe中的页面显示在其预定位置之外。如果我可以获取父页面的会话变量,那就更好了,因为我可以验证用户。
Iframe将在ASP.NET中编写,而父页面是PHP。
我找到了可能有效的Javascript代码,但我对javascript非常不熟悉,以及如何将返回值传递给ASP.NET中的代码。如果您的解决方案涉及javascript,我将需要从表单加载中调用它以获取值。
我尝试过这些功能,但它们没有显示我需要的功能。
Request.Url.AbsoluteUri.ToString
Request.ApplicationPath.ToString
Request.UrlReferrer.AbsolutePath.ToString
由于
答案 0 :(得分:1)
我理解您正在寻找解决方案背后的代码并重定向,但后面的代码无法识别该页面是否正在调用其他内容。
你可以试试Request.ServerVariables["HTTP_REFERER"]
,但这可能会出错,甚至可能被某些用户禁用或更改。
使用javascript的一个简单的工作解决方案是检查iframe是否自己,如果它在你的母版页内。因此,此代码转到iframe内部的页面,如果单独看到,则会将用户重定向回母版页。
<script type="text/javascript" language="javascript">
// this line is check if its inside an iframe.
// if top==self then is not in iframe
if(top == self)
{
alert("This page can not be viewed alone, please press ok to load the master page");
top.location.replace("MasterPage.aspx");
}
</script>