【转】模式窗口window.open造成Session丢失的解决方法

【转自】http://hi.baidu.com/afawwb/blog/item/f892cb50b84cd26684352459.html

 

从 HTML 模式或无模式对话框可能没有打开同一进程中 InternetExplorer 窗口中打开,因此模式窗口中调用 window.open()方法打开具体页面,可能造成session 丢失.例如:主窗体a.aspx,点击按钮时采用window.showModalDialog,打开弹出窗体b.aspx,b.aspx为模式窗体,然 后在b.aspx窗体中再用window.open方式打开窗体c.aspx时,session会丢失。

   解决方法:
       思路: 调用 a.aspx window 的 open 方法打开

      a.aspx 中window.showModalDialog 调用方法传递 dialogArguments属性为 window 对象
      window.showModalDialog("b.aspx",window,"....") ;

      b.aspx 中
      var openobj = window;
if(typeof(window.dialogArguments) == "object")
{
    openobj = window.dialogArguments;
}
openobj.open("c.aspx");

    这样处理 c.aspx中 Session就不会丢失了

根据我的测试,我的IE7在Internet安全选项中使用默认就行了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值