日期:2014-05-19  浏览次数:20405 次

关于模态对话框的关闭及其它
点击主页面上的按钮,弹出一个子页面。
之前使用的是window.open,后来因为想要子页面关闭前不能操作主页面,改用了模态对话框javescript:window.showModalDialog,就出现了一些问题。

1.在子页面的this.Init的响应函数里,我动态创建了一些控件,要用到在主页面保存的Session的值。现在点击子页面的“保存”按钮,走到了这个函数的时候,这个Session的值不知为何变null了,就出错了。

2.在点击子页面的“保存”按钮的响应函数里,我有下面这段代码,
        string   strScript     =   " <script   language   =   javascript   > \n ";
        strScript   +=   "abcd();\n ";
        strScript   +=   "window.close();\n ";
        strScript   +=   " </script> ";
        Page.RegisterStartupScript( "confirm ",strScript);
是为了点击子页面的“保存”按钮后,执行abcd这个js函数,然后关闭子页面。但是现在abcd不执行了,子页面也不关闭了。

之前用window.open的时候这些问题都是没有的。如果我想满足第2点(点击保存执行js函数然后关闭子页面),是否不能用模态对话框?如果不用的话,又怎么让子页面关闭前不能操作主页面呢?

如果办不到的话,有没有办法在主页面关闭或跳转的时候关闭子页面?那样也可以凑合。

------解决方案--------------------
可以的,看看你的aspx的 <head> 中有没有 <base target= "_self "> </base>
------解决方案--------------------
在Page_Load里加上
Response.Expires = -1;