2012-04-22 28 views
5

我正在构建一个MVC3应用程序,并且在用户浏览页面时需要执行几个操作的几页上。在asp.net中检测页面关闭(或卸载)mvc3

例如,如果用户在页X和点击任何其他链接我需要执行操作A,B,C

我迄今所使用的过滤器,如果用户导航到任何其他网页检测实施从第X页开始。

这适用,除非用户在其他选项卡中打开页面X上的链接。即页面X仍然打开,但是用户已经导航到另一页面并且操作A,B,C并且被执行。由于页面X仍然处于打开状态,因此不会发生这种情况。

我想知道是否有办法检测页面关闭,即使在页面X,所以我只执行页面关闭或卸载时的操作?

+0

为什么不在跟踪会话哪些页面打开? – 2012-04-22 18:17:58

+0

嗯...但我仍然有问题检测页面关闭时。这是我的主要问题,我不太确定如何检测页面关闭。 – keshav 2012-04-22 18:20:50

回答

5

您可以使用jQuery的.unload功能与ajax帖子配对,从前端完成此操作。

$(window).unload(function() { 
//ajax post to controller action 
$.ajax({ 
     type: 'POST', 
     url: '/Controller/Action', 
     data : { param1 : "value1", param2: "value2" }, 
     dataType: 'html', 
     success: //do what needs to be done here, alert? 
    }); 
});