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>");