今天又遇到了模态窗口关闭的问题,具体问题是:在父页面打开了一个模态窗口,在模态窗口中添加一个asp的Button,按钮的单击事件写在服务器的.cs文件里,然后用如下代码关闭这个模态窗口:
Response.Write("<script language=javascript>");
Response.Write("window.opener=null;");
Response.Write("window.close();");
Response.Write("</script>");
代码执行过后却未能关闭该模态窗口,从网上查找并尝试了多种解决方案后,有一种好用但是不明白是怎么回事,具体做法是在模态窗口的HTML代码中,对FORM开头做如下修改:
<form id="Form1" method="post" runat="server" target="bbc2188">
<iframe name=bbc2188 width=0 height=0 frameborder=0
style="display: none"></iframe>
给FORM的 target 属性赋了一个值,并添加一个相应的 iframe 究竟是什么原理还不是太明白,但是解决了当前的问题
这是我在网上看到的一个答案,结果能用。说下我的问题:就是当点击按钮关闭模态窗口页面时,模态窗口会关闭,但会重新打开一个网页。用了这个方法解决了!我不知道他们是不是也是这个问题。
至于上面说的原理,我想应该是:用target来定位一下后来打开的页面,而新打开的页面默认就在iframe中 即是本页,所以通过这个关闭就可以关闭掉了。(估计默认的情况下都是新打开一个页面)
来自:http://www.cnblogs.com/luyesql/archive/2010/11/02/1866898.html