C#之模态窗口关闭

今天又遇到了模态窗口关闭的问题,具体问题是:在父页面打开了一个模态窗口,在模态窗口中添加一个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://hi.baidu.com/chengshiwei/blog/item/4594ee62c008e2d4e7113af8.html 

posted on 2010-11-02 10:34  叶子绿了  阅读(1612)  评论(0编辑  收藏  举报

导航