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