最近项目是跟框架有关的两个问题

l_yzhong   (2006-07-15 13:04:33)
框架中有三个页面(这三个需要登陆,框架不清楚,要看一下程序的目录结构),加上框架就是四个页面

而页面的访问权限又是交给IIS控制的,如果IIS发现是先加载Top.aspx,则跳转页面的URL会是
/Login.aspx?ReturnUrl=%2fMyAccount%2ftop.aspx
如果先加载Bottom.aspx,则会是
/Login.aspx?ReturnUrl=%2fMyAccount%2fBottom.aspx

如果你把PayValidate.htm的内容写到Page_Load中,就不会出现上面的情况了
我的理解:
1、框架和框架包含的页面都要登录才能访问。
2、当用户访问这个框架页面的时候,本来应该直接转向登录页面。可能是IIS的BUG用户没有被转向登录页面。于是框架页面就开始加载它所包含的页面(C)。这时候IIS终于反应过来了将用户转向了登录页面。但这里的ReturnUrl就变成了页面(C)的URl。

分析与解决办法:这个问题出现的原因1是IIS本身的问题。2是框架页面使用的是静态页面。
只要把框架页面改成动态页面问题就没有了。

另一个跟框架有关的问题:
一个在框架中的页面重定向到另一个页面的时候。这个页面会在框架中。但有些页面是始终都应该在框架外的。比如说网站的首页。这时只要在网站的首页的<head></head>之间加上下面这段脚本首页就不会再出现在框架里了。

<script>
       
if(window.parent[0!= null)
       
{
            
if(top.location.href != window.location.href)
            
{
                top.location.href 
= window.location.href;
            }

       }

        
</script>    
posted @ 2006-07-18 17:40  BB_Coder  阅读(629)  评论(2编辑  收藏  举报