5

私はMVC3アプリを構築していますが、いくつかのページで、ユーザーがページから離れるときにいくつかのアクションを実行する必要があります。

たとえば、ユーザーがXページにいて、他のリンクをクリックした場合、アクションA、B、Cを実行する必要があります

これまでの実装では、フィルターを使用して、ユーザーがページXから他のページに移動したかどうかを検出します。

これは、ユーザーがXページのリンクを葯タブで開いた場合を除いて機能します。つまり、ページXはまだ開いていますが、ユーザーは別のページに移動し、アクションA、B、Cを実行しました。ページXがまだ開いているため、これは発生しないと考えられます。

ページXでもページのクローズを検出する方法があるかどうか疑問に思っていたので、ページがクローズまたはアンロードされたときにのみアクションを実行しますか?

4

1 に答える 1

5

jQueryの.unload機能をajaxpostと組み合わせて使用​​すると、フロントエンドからこれを実現できます。

$(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?
    });
});
于 2012-04-22T18:39:54.710 に答える