框架的注销问题

 asp.net 注销用户退不出框架

 

使用BASEPAGE页面后 跳转不出框架
            if (!HttpContext.Current.User.Identity.IsAuthenticated)
            {
                Response.Write("<script type='text/javascript'>top.location.href='/login.aspx';</script>");
        

                Response.End();
            }
          
            FormsIdentity Id = HttpContext.Current.User.Identity as FormsIdentity;
            string userrole = Id.Ticket.UserData;

            bool Validate =(new PrincipalServer()).IsInRole(userrole);
           //角色不对
            if (!Validate)
            {
                Response.Write("<script type='text/javascript'>top.location.href='/login.aspx';</script>");
                Response.End();
 
            }


跳转页面方法

1,javascript(client)  
  window.close();  
2,c#(server)  
  Response.Write("<script>window.close();</script>")  
3 Response.Write("<script language=javascript>window.parent.opener=null;window.parent.close();window.open

('login.aspx');</script>");

我也使用了框架,千面中方法没有退出成功,第3种成功了!

 

 

下面是GOOGLE搜索到的一个文章

关闭框架网页(C#)

                                      

找了好久,终于找到了你,可以在c#里自己写代码,然后调用就可以了,已经测试了,不错的,让我们来谢谢这位原创者吧!

关闭框架页面

if(Page.IsPostBack)
{
}
else
{
this.btnZX.Attributes.Add("onclick","return confirm('您确定要注销系统吗?')");
this.btnClose.Attributes.Add("onclick","return confirm('您确定要退出系统吗?')");
}

private void btnZX_Click(object sender, System.EventArgs e)
{
Session.Remove("userAdmin");
Response.Write("<script language=javascript>window.parent.opener=null;window.parent.close();window.open('login.aspx');</script>");
}

private void btnClose_Click(object sender, System.EventArgs e)
{
Session.Remove("userAdmin");
Response.Write("<script language=javascript>window.parent.opener=null;window.parent.close();</script>");
}

自已再加两个:
退出:parent.parent.close();
转到其他页:Response.Write("<script>parent.location.href='index.aspx';</script>");

你可能感兴趣的:(JavaScript,框架,object,C#,Google,asp.net)