asp.net プロジェクトで無効なセッション変数をチェックする方法に取り組んでいます。大規模なプロジェクトでは、セッション変数が予想外に無効になる傾向があることは既知の事実です。
私はほとんどすべてを試しましたが、成功しませんでした。今は別の方法で対処しようとしています。jQuery フォーム送信を参照してください。フォームの最後にモーダル ポップアップがあり、jQuery の $("form").submit() イベントを追加して無効なセッション状態をチェックし、状態が無効な場合はログイン モーダルを呼び出します。 XHR はユーザーのログイン資格情報をサーバーに送信して、セッションを再作成します (私は jQuery に少し慣れていないことに注意してください)。
これが私のコードです:
$(document).ready(function () {
$("form").submit(formSubmit);
function formSubmit() {
$.get("CheckForSessionTimeOut.aspx", function (data) {
if (data == "0") // Session is null
{
getModal();//Method to invoke the popup
return false;
}
else if (data == "1") // Session is valid or not null
{
//submit the form
}
});
}
});
しかし、ここでの問題は、モーダルなしでフォームが投稿され、javascript エラーが発生することです。場合e.preventDefault();
によっては、submit(); でデフォルトのポストバックを防止するために使用します。フォームはまったくポストバックしません。