次の簡単な例を考えてみましょう。
サーバー側の ASP.NET コード:
TextBox theTextBox = ...
theTextBox.Attributes.Add("onchange", "HandleOnChangeEvent");
クライアント側の JavaScript:
var numberOfChanges;
function HandleOnChangeEvent() {
numberOfChanges++;
alert(numberOfChanges);
}
つまり、ユーザーがテキストボックスの値を変更するたびに、ページがロードされてからテキストボックスの値が変更された回数を示すダイアログがポップアップします。
しかし、同じページに texbox のインスタンスが複数ある場合はどうなるでしょうか? numberOfChanges はグローバルであるため、すべてのテキスト ボックスについて、ページ上の変更の総数を追跡します。個々のテキストボックスごとに、インスタンス固有にする必要があります。
これを解決するための好ましい方法は何ですか? それが重要かどうかはわかりませんが、私の実際のシナリオは、この例のように 1 つだけではなく、より多くの状態変数を使用して、はるかに複雑であることを言及する必要があります。
ありがとう!/フレドリック