在asp.net的框架网页中,如何判断当前页面是否在指定的框架中?
如果不在框架中禁止访问并关闭该窗口,这样做的效果是不允许用户直接输入URL访问要求登陆并在框架内的访问的页面,后台管理<frameset rows="64,*,54px" frameborder="NO" border="0" framespacing="0">
<frame src="Admin_Qmd_Top.aspx" noresize="noresize" frameborder="NO" name="topFrame" scrolling="no" marginwidth="0" marginheight="0" target="main" />
<frameset cols="200,*" rows="100%,*" id="frame">
<frame src="Admin_Qmd_Left.aspx" name="leftFrame" noresize="noresize" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" target="main" />
<frame src="Admin_Qmd_Right.aspx" name="main" marginwidth="0" marginheight="0" frameborder="0" scrolling="auto" target="_self" />
</frameset>
<frame src="Admin_Qmd_Buttom.aspx" noresize="noresize" frameborder="NO" name="buttom" scrolling="no" marginwidth="0" marginheight="0" target="main" />
</frameset>
<noframes></noframes>
如:Admin_Qmd_Right.aspx" name="main" 如果直接在浏览器中输入就被关闭中,它必须在main框架中

解决方案 »

  1.   

    不能通过frame 、iframe 来判断,因为人家也可以自己做一个页面,里面放frame 、iframe 去加载你的页面,只简单通用的方法就是通过继承来实现
      

  2.   

    <script language="javascript">
            var f = parent.location.pathname;
            if (f != 'Default.aspx') {
                window.location.href = "Default.aspx";
            }
    </script>放在Admin_Qmd_Right.aspx页面,判断父页面是否是想要的
      

  3.   

    ? 怎么会呢,你放在Admin_Qmd_Right.aspx里面,然后URL访问Admin_Qmd_Right.aspx啊