我有一个专门在 IE7(内部网站)上运行的 asp.net 应用程序。
当用户需要输入数据时,我会弹出一个带有表单的子窗口。当表单关闭时,它调用 javascript:window.opener.location.reload(true) 以便新数据显示在主页上。
问题是浏览器提示它必须重新发布页面。有什么办法可以关闭此功能?
最佳答案
没有,但有一个解决方案。在某人将数据发布到页面后立即使用 302 重定向通常被认为是好的设计。这可以防止弹出窗口出现。请允许我详细说明。
1) 用户通过POST方式填写表单并提交数据。
2) 后端接收数据并对其进行操作。
3) 后端不会将内容返回给用户,而是在处理完页面后立即发出 302 重定向(如果需要,可能会将用户重定向回完全相同的 url)
4) 用户将看到的页面是您告诉他们的浏览器重定向到的页面。他们将使用标准 GET 请求加载重定向页面。如果他们尝试刷新页面,则不会重新发布数据。问题解决了。
关于asp.net - 如何禁用浏览器回发警告对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/93708/