如何从asp.net中关闭的子窗口刷新父窗口

时间:2012-01-11 07:16:43

标签: c# asp.net

如何从asp.net(.cs页面)中关闭的子窗口刷新父窗口。我们正在使用

page.ClientScript.RegisterStartupScript(this.GetType(), "PopupSave", "<script> JavaScript(`successfully Saved`); window.close();window.top.opener.RefreshPage();</script>");

用于从子窗口关闭刷新父页面。

此处RefreshPage()是自定义函数

function RefreshPage() {
  window.document.forms[0].submit();
}

它在IE中运行良好,但在Mozilla Firefox和Google Chrome中没有。 请帮帮我,这对我来说是非常迫切的要求。


同样,它也无法解决您的解决方案。我的项目结构与您上面解释的完全不同。我们使用page.ClientScript.RegisterStartupScript()在代码后面调用java脚本函数。这里我们调用由分号(;)分隔的不同java脚本函数。见下文

page.ClientScript.RegisterStartupScript(this.GetType(), "PopupSave", <script>javascript:alert('Successfully Saved'); window.close();window.top.opener.RefreshPage();</script>");

这里的RefreshPage()是用户定义的java脚本函数,即

function RefreshPage() 
{
  window.document.forms[0].submit(); 
} 

它在 IE (Internet Explorer)中工作正常,但在 Mozilla Firefox Google Chrome 中无效。

Mozilla Firefox 中,弹出值保存在数据库中,但不会更新到父页面。如果我手动刷新,则值将更新到父页面。

如果我将调试器放在 IE 中的RefreshPage()函数中,它就会被激活但不会出现在 Firefox 中。请帮帮我。

3 个答案:

答案 0 :(得分:3)

也许你可以使用像

这样的东西
window.parent.forms[0].submit();

或者如果您不想使用提交功能,可以使用

window.parent.location.href = 'yourURL';

答案 1 :(得分:0)

也许您应该在RefreshPage()之前将呼叫转移到window.close()

答案 2 :(得分:0)

window.opener.location.href = window.opener.location.href;