2012-04-22 5 views
5

Ich baue eine MVC3 App und auf wenigen Seiten brauche ich einige Aktion auszuführen, wenn der Benutzer von der Seite weg navigiert.Erfassungs Seite schließen (oder entladen) in asp.net MVC3

Zum Beispiel, wenn der Benutzer auf Seite X und klickt auf eine andere Verbindung, die ich Aktionen durchführen muß A, B, C

Die Umsetzung Ich habe so Filter weit verwendet und stellen fest, ob der Benutzer zu einer anderen Seite navigiert ab Seite X.

Dies funktioniert, außer wenn der Benutzer auf den Link auf Seite X in Anthere Registerkarte öffnen. d. h. die Seite X ist noch offen, aber der Benutzer hat zu einer anderen Seite navigiert und die Aktionen A, B, C durchgeführt. Dies soll nicht passieren, da Seite X noch offen ist.

ich mich gefragt, ob es Art und Weise Seite schließt auch auf Seite X zu erkennen ist, damit ich die Aktion nur durchführen, wenn die Seite geschlossen wird oder entladen?

+0

Warum nicht einfach in der Sitzung nachverfolgen, welche Seiten geöffnet sind? –

+0

Hmm ... aber das habe ich immer noch das Problem der Erkennung, wenn die Seite geschlossen ist. Das ist mein Hauptproblem, ich bin mir nicht ganz sicher, wie man Seiten schließen kann. – keshav

Antwort

5

können Sie jQuery .unload Funktionalität mit einer Ajax-Post gepaart verwenden diese von dem vorderen Ende zu erreichen.

$(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? 
    }); 
}); 
Verwandte Themen