如何解决“再次显示网站,网页浏览器需要重新发送您之前提交的信息”的问题

时间:2012-07-10 13:25:43

标签: asp.net html internet-explorer

我有一个父网页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

如何删除邮件警告?

3 个答案:

答案 0 :(得分:3)

用户成功提交表单后,您应该重定向该用户。这称为Post/Redirect/Get "pattern"

答案 1 :(得分:2)

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

要解决此问题,您必须:

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

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

  • 您可以使用javascript在父窗口上进行回发。

答案 2 :(得分:1)

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

>    window.parent.opener.document.forms[0].submit() ;