Javascript 如何在ASPX页面中禁用浏览器提示以确认页面刷新?

Javascript 如何在ASPX页面中禁用浏览器提示以确认页面刷新?,javascript,asp.net,jquery,Javascript,Asp.net,Jquery,我有一个显示在windows应用程序中的aspx页面(在WebBrowser控件中)。 在特定条件下,windows应用程序会在WebBrowser上重新加载,这将导致显示以下提示: 现在这个页面只显示一个报告,这个提示完全不合适,实际上对最终用户来说是一个刺激。 我尝试将aspx表单方法改为GET而不是POST,因为这个提示似乎只针对包含表单数据的页面,但这破坏了页面的功能我现在不知道如何禁用此提示显示? 我是否可以捕捉到有助于消除此信息的事件 编辑:关于场景的更多细节: 我正在使用的这个a

我有一个显示在windows应用程序中的aspx页面(在WebBrowser控件中)。 在特定条件下,windows应用程序会在WebBrowser上重新加载,这将导致显示以下提示:

现在这个页面只显示一个报告,这个提示完全不合适,实际上对最终用户来说是一个刺激。 我尝试将aspx表单方法改为GET而不是POST,因为这个提示似乎只针对包含表单数据的页面,但这破坏了页面的功能
我现在不知道如何禁用此提示显示?
我是否可以捕捉到有助于消除此信息的事件

编辑:关于场景的更多细节: 我正在使用的这个aspx页面有选项卡和单选按钮作为服务器端HTML控件。
它们的状态通过页面中嵌入的隐藏字段进行维护。一旦设置了隐藏字段的值并提交了aspnet表单,浏览器就会开始检测任何刷新作为重新提交,并显示对话框。我已经解决了这个问题,在我的回答中详细说明了这一提示可能是PRG模式()的副作用,该模式旨在避免重复发布数据

您可能在试图发布到的URL上有一个重定向


在浏览器调试器中(如果可以,请使用Firebug,以获得最大的详细信息),检查网络请求并查找301/302/303类型的请求。

实际上,您没有赢得更改此功能的机会(我认为可能会在IE on options上更改,但在其他浏览器上不会更改),但您需要更改生成报告的方式

尝试在url中添加参数,读取此参数并生成报告,而不是在单击按钮和回发后生成报告


因此,无需进行回发,也无需重新加载此消息。

以下是我们解决此问题的方法:

正如我对问题的编辑中所解释的,隐藏字段值的更改和随后的表单提交使浏览器(正确地)标记页面已提交。
我们现在已将表单.submit()更改为jQuery$.post(),如下所示:

$.post(myForm.action, request, function(d) {
                        // Callback function that uses the returned response data d
                        // to extract the html and render the page again after completion
                        // of the Ajax request
                    });
request:JSON对象包含维持控件状态的key:value对


注意:在aspx页面的Page_Load()方法中,需要通过从HttpContext的请求对象读取隐藏字段的值来设置隐藏字段的值

我已使用Fiddler检查netwrok请求,但看不到301/302/303状态。你能详细解释一下你所说的“你可能在你试图发布到的URL上有一个重定向”是什么意思吗?我怀疑你正在发布到一个页面,该页面正在发送一个重定向到另一个页面,而该页面已经完成了发布。通常,浏览器通过将最后一篇文章转换为GET来防止这种情况。如果您没有重定向,您可能会在某个地方向同一页面发送“双重”帖子,就像您单击“提交”两次或返回然后重新提交一样,浏览器会检测到这是一种“反PRG模式”。谢谢您的回答,但我不会在任何地方发送双重帖子。很高兴了解PRG模式!重新加载不是按钮单击的结果,而是由包含WebBrowser@mishrsud触发的事件可能会导致回发。-可能问题出在触发此事件的应用程序上?此解决方案由我的同事Alok提出: