1

我有一个父页面 asp.net,在弹出窗口中我有这个:

<body onunload="parent.opener.location.reload()">
    <form id="silverlightWindows" runat="server" />
</body>

问题是当弹出窗口关闭时,它总是用 IE 和 Firefox 询问这个确认信息:

to display the website again, the web browser needs to resend the information you've previously submitted

如何删除消息警告?

4

3 回答 3

3

用户成功提交表单后,您应该重定向用户。这称为发布/重定向/获取“模式”

于 2012-07-10T13:31:23.127 回答
2

显示该消息是因为您正在尝试重新加载父窗口的位置,并且该窗口当前正在显示回发的结果。

要修复它,您必须:

  • 仅在“正常”非回发请求后打开弹出窗口。

或者

  • 不使用 uselocation.reload()而是使用location='(url to load here)'. 如果可以在没有回发数据的情况下恢复父窗口的状态,这可能会起作用。

或者

  • 您可以使用 javascript 在父窗口上进行回发。
于 2012-07-10T14:12:27.657 回答
1

摆脱“Internet Explorer 需要重新发送您之前提交的信息”使用此脚本块

>    window.parent.opener.document.forms[0].submit() ;
于 2014-08-14T13:42:16.997 回答