我在一个 aspx 页面中挂钩 window.onbeforeunload 事件。如果我对同一页面上 UpdatePanel 中的 GridView 进行分页,我需要不触发它。
我曾尝试挂钩 PageRequestManager 的 initializeRequest 事件,但这触发得太晚了,即在 onbeforeunload 之后。我还尝试在我的 onbeforeunload 处理程序中检查 PageRequestManager.get_isInAsyncPostBack() ,但它也返回 false,哎呀!
我已经阅读了这个 SO 线程:
但这对我来说没有意义,除了 GridView 页面链接会导致卸载而 GridView 列中的按钮不会?有人知道如何解决这个问题吗?我猜唯一的方法是将客户端单击处理程序附加到所有 GridView 的页面锚点以设置一些布尔标志,但我不确定如何以可靠的方式完成此操作。