首页 新闻 搜索 专区 学院

父子showModalDialog窗口,关闭子窗口刷新父窗口(急)

0
悬赏园豆:10 [已解决问题] 解决于 2009-09-29 17:02

从一个普通的页面使用showModalDialog打开:
一个窗口(showModalDialog父窗口),
然后又从这个showModalDialog窗口打开:
一个窗口(showModalDialog子窗口)

如何实现showModalDialog子窗口关闭后,刷新他的showModalDialog父窗口?

问题补充: Default.aspx 單擊Button1,彈出Default2.aspx Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Response.Write("<script language='javascript'>window.showModalDialog('Default2.aspx',window,'dialogHeight:300px;dialogWidth:772px;scroll:auto;'); window.location.href = window.location.href;</script>") End Sub Default2.aspx 單擊Button1,彈出Default3.aspx Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Response.Write("<script language='javascript'>window.showModalDialog('Default3.aspx',window,'dialogHeight:300px;dialogWidth:772px;scroll:auto;'); window.location.href = window.location.href;</script>") End Sub 現在關閉Default3.aspx上要刷新Default2.aspx,目前的情況是關閉Default3.aspx的時候,又彈出一個Default2.aspx畫面。能否使用window.showModalDialog的方法,關閉Default3.aspx刷新Default2.aspx,且不彈出Default2.aspx新畫面?
个人抽屉的主页 个人抽屉 | 初学一级 | 园豆:143
提问于:2009-09-18 11:54
< >
分享
最佳答案
0

showModalDialog的第二个参数应该是自定义的,可以传当前的窗口过去

showModalDialog(url, window /* 当前窗口 */, xxx);

在子窗口中可以用dialogArguments获取这第二个参数,因此可以写

dialogArguments.location.reload(true);

这个方法的要求是你的子窗口不会有表单的提交,不会有location = xxx改变地址,不然dialogArguments就会消失

收获园豆:5
Gray Zhang | 专家六级 |园豆:17610 | 2009-09-19 01:19
其他回答(4)
0

window.parent.location.reload();window.close();这样行吧!!

New.min | 园豆:313 (菜鸟二级) | 2009-09-18 11:59
这样是可以刷新,但会弹出一个新的父窗口画面。现在想要只刷新,不弹出新画面。
支持(0) 反对(0) 个人抽屉 | 园豆:143 (初学一级) | 2009-09-18 12:06
0

标准答案 window.parent.location.reload();window.close();

但是<head >中要增加   <base target="_parent" />

这样它才不会弹出新页面。

邢少 | 园豆:10926 (专家六级) | 2009-09-18 13:23
加上<base target="_parent" />不会弹出新页面。 但也不刷新父窗体。
支持(0) 反对(0) 个人抽屉 | 园豆:143 (初学一级) | 2009-09-18 15:12
@个人抽屉:不是没刷新,是刷新了,但是showModalDialog 都是有缓存的。你可以验证一下.跟踪一下,看是不是走的缓存页。我一般的都是在调showModalDialog的时候增加一个参数time =当前时间。
支持(0) 反对(0) 邢少 | 园豆:10926 (专家六级) | 2009-09-18 15:46
0

这个有个刷新父窗口的例子

http://www.cnblogs.com/downmoon/archive/2009/09/08/1562275.html

http://blog.csdn.net/downmoon/archive/2009/09/08/4530428.aspx

邀月 | 园豆:25475 (高人七级) | 2009-09-18 14:04
0

我碰到了和你一样的问题。。。在你打开的URL 后面加上这句  window.location.reload();  就可以了

 你可以试试

收获园豆:5
邱帆 | 园豆:0 (初学一级) | 2009-09-26 14:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册