ユーザーが ASP.NET Web フォーム ページを閉じるか、別の場所に移動した場合にのみ、ユーザーにメッセージを表示したいと考えています。ボタン、LinkButton、AutoPostBack 要素、またはポストバックするその他のものをクリックすると、メッセージを表示したくありません。
これまでのところ、次のコードがあります。
<script type="text/javascript">
var postback = false;
addToPostBack = function(func) {
var old__doPostBack = __doPostBack;
if (typeof __doPostBack != "function") {
__doPostBack = func;
} else {
__doPostBack = function(t, a) {
if (func(t, a)) old__doPostBack(t, a);
}
}
};
$(document).ready(function() {
addToPostBack(function(t,a) {
postback = true;
});
});
$(window).bind("beforeunload", function() {
if (!postback) {
return "message";
}
});
</script>
これは部分的に機能しますが、AutoPostBack イベントの発生を停止するようで、LinkButtons などのメッセージが引き続き表示されます。
これどうやってするの?