ASP.NET フォームがあり、ユーザー入力、テキスト ボックス、チェックボックスなどが多数あります。ユーザーがフォームを保存せずに編集したかどうかを確認し、編集した場合はアンロードする前にプロンプトを表示できるようにする必要があります。
ユーザーがテキスト ボックスの 1 つを編集すると設定されるダーティ フラグがあります。彼らがフォームにデータを保存したら、フラグをリセットします。したがって、フラグは、ユーザーが編集したが保存していない場合にのみ設定する必要があります。
次に、このフラグを使用して、ユーザーに「このページを離れてもよろしいですか?」と表示するかどうかを決定します。</p>
コードスニペット:
var _isDirty = false;
$(function () {
try {
$("#MainContent_txtSometextBox").change(function () {
_isDirty = true;
});
} catch (e) { }
});
問題は、すべてのコントロールでこれを設定する必要がないことです。ページレベルで設定することはできますか? ページにはカスタム ユーザー コントロールもあるため、それほど簡単ではないと思います。