2012-04-22 67 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? 
    }); 
});