今天又遇到了模態窗口關閉的問題,具體問題是:在父頁面打開了一個模態窗口,在模態窗口中添加一個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