window.close关闭postbacked子窗口,仍然会出现子窗口的副本

时间:2013-08-08 20:16:09

标签: javascript

我正在使用以下代码打开子窗口:

window.showModalDialog("FileUpload.aspx", "FileUpload", 
    "center:yes;resizeable=yes;dialogHeight:300px;dialogWidth:600px;");

我将在子窗口中上传的文件(FileUpload.aspx)保存在FileUpload.vb页面后面的代码中。 自服务器端代码以来,它的回发和打开一个新的浏览器。

在子窗口中使用我的功能后,当我使用下面的代码关闭它时,

window.open('', '_self', '');
window.close();

它正在关闭由于回发而打开的新浏览器,但是当返回到父页面时,同一子窗口的副本仍然打开。

我想关闭这个子窗口的所有实例。

1 个答案:

答案 0 :(得分:0)

showModalDialog方法将冻结父窗口上的JavaScript执行,直到它打开的对话框关闭,因此我们可以排除这是第二个窗口打开的原因。当FileUpload.aspx从服务器发回时,它应该与无模式aspx回发相同。

我认为你应该能够摆脱window.open()方法,你应该没事。

父窗口:

window.showModalDialog("FileUpload.aspx", "FileUpload", 
    "center:yes;resizeable=yes;dialogHeight:300px;dialogWidth:600px;");

子窗口会在完成后调用它。

window.close();