我使用了捕获
$(window).on('beforeunload unload', function (element) {
return 'Are you sure you want to leave?';
});
在同一页面上,我有一个更新面板和更新进度。如果用户通过单击按钮导航到其他页面,则会出现提示消息,并且更新进度也会启动。
如果用户在警报窗口中选择"否"并停留在同一页面上,则更新进度仍保持可见状态。
有什么方法可以捕获用户对"更改可能无法保存"提示的响应,因此根据结果,我将隐藏更新进度图像。
<asp:UpdatePanel runat="server" ID="ProductSelectorContainerPanel" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button runat="server" ID="DoPartialPostBack" OnClick="DoPartialPostBack_Click" Text="Do Postback"/>
</ContentTemplate>
</asp:UpdatePanel>
.cs代码
受保护的无效DoPartialPostBack_Click(对象发送器,事件参数 e( { Response.Redirect("page2.aspx"(; }
现在,如果添加调试器,则会首先调用响应重定向。这将调用 jquery 的 beforeunload 代码。并且根据所选结果(在我的情况下停留(,更新进度将触发,因为它是回发。
。所以根据结果,我将隐藏更新进度图像
只需将其隐藏在beforeunload
处理程序中即可。如果用户离开页面,它是否隐藏并不重要;他们已经离开了页面。如果他们不这样做,你就得到了你想要的结果。
我更改了为按钮添加完整回发触发器的代码。因此,按钮的行为与普通按钮类似,当用户在警报中选择"否"时,按钮调用将停止。