1

我有 3 个不同的视图共享同一个母版页 (_layout.vbhtml)。

在每个视图中,用户必须选择不同的列表项。我正在使用 sessionStorage 来存储选定的值。然后,在每次视图更改时,我想将这些值发布回服务器。为此,我在每个视图的末尾添加以下内容:

      $(window).unload(function () {
        alert("Bye now!");
        postjson();
      });

但是,它没有按预期工作。用户可以单击不同的按钮以离开页面,但是在单击按钮时,窗口不应该卸载并触发警报消息吗?不,它没有那样做。

任何帮助表示赞赏。

4

2 回答 2

0

可能来不及回答

当用户从一个视图移到另一个视图时,视图共享相同的布局,他/她不会navigate away 离开该视图。您应该使用 jquery 移动事件

使用pagebeforehidepagehide将为您做。这里是文档的摘录

页面前隐藏

在实际过渡动画开始之前,在我们正在过渡的“fromPage”上触发。此事件的回调将接收一个数据对象作为其第二个参数。此数据对象具有以下属性:

    nextPage (object)
        A jQuery collection object that contains the page DOM element that we are transitioning to.

Note that this event will not be dispatched during the transition of the first page >     at application startup since there is no previously active page.

页隐藏

过渡动画完成后在“fromPage”上触发。此事件的回调将接收一个数据对象作为其第二个参数。此数据对象具有以下属性:

    nextPage (object)
        A jQuery collection object that contains the page DOM element that we just transitioned to.

Note that this event will not be dispatched during the transition of the first page at application startup since there is no previously

活动页面。

您可以通过绑定回调函数的第二个参数访问 prevPage 或 nextPage 属性。

于 2013-01-04T22:36:32.750 回答
0

尝试使用

window.onbeforeunload = function() {
alert("Bye now!");
        postjson();
      });
于 2012-09-14T17:47:37.347 回答