在构建Web应用程序时,会从窗体打开多个子窗体。
在有些软件中要验证用户是否有访问页面的权限,当用户在多重子窗体中操作时,由于某些原因(session超时、服务器重启等)断开了连接,些时用户得重新登录。
我的系统的处理方案是关闭所有的子窗体,再在主窗体中载入登入页面。
具体js代码:(我重Page页面继承一个PageBase类,再在PageBase中定义一个方法TestLogin进行验证,在TestLogin中注册如下js脚本)
var p = window;
var baseWeb;
var loginUrl ="login.aspx";
function closeOpener()
{
baseWeb=p;
p = p.opener;
if(p!=null)
{
baseWeb.close();
closeOpener();
}
else
{
baseWeb.parent.location=""" + loginUrl + """;
return;
}
}