点击主页面上的按钮,弹出一个子页面。
之前使用的是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;