gpt4 book ai didi

asp.net - 为什么 OnBeforeUnload 使用 asp :LinkButton? 触发两次

转载 作者:行者123 更新时间:2023-12-01 04:31:21 25 4
gpt4 key购买 nike

我有以下 Jquery 函数,当用户有未保存的更改(类似于 SO 的做法)并尝试离开当前屏幕时,会通过提示通知用户。

<!-- in my aspx page -->
<script type="text/javascript" language="javascript">
window.onbeforeunload = function()
{
if (HasPendingUpdates())
{
return "Changes you have made will not be saved.";
}
}
</script>

这按预期工作,并在用户尝试单击 href 浏览或使用后退按钮等时显示消息框。我遇到的问题是我的链接之一是 asp:LinkBut​​ton 因为它需要在离开页面之前触发一些服务器端代码。当用户单击此 LinkBut​​ton 时,他们会收到两次提示。

场景:

  1. 用户单击LinkBut​​ton
  2. 出现提示,用户点击取消按钮。
  3. 提示消失,用户仍在屏幕上。好。

  4. 用户单击LinkBut​​ton

  5. 出现提示并单击“确定”按钮。
  6. 提示消失并再次显示相同的提示。
  7. 用户再次点击“确定”。
  8. 提示消失,用户移至下一个屏幕,一切正常。

那为什么我会收到第二个提示??? OnBeforeUnload 如何触发两次?

最佳答案

我遇到了类似的问题,但是,我根本不想为 LinkBut​​ton 触发 onbeforeunload,因此我对 .aspx 页面上的每个 LinkBut​​ton 使用了以下内容:

OnClientClick="eval(this.href);return false"

LinkBut​​tons 的功能并没有被削弱,因为它们所做的只是提供带有 CommandArgument 的命令,以便隐藏代码处理...

关于asp.net - 为什么 OnBeforeUnload 使用 asp :LinkButton? 触发两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2239456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com