0

ASP.NET4.0を使用するアプリケーションの1つでJqueryAJAXを使用しています。そのWebアプリケーション。私はサーバー側のコーディング+クライアント側のコーディングアプローチを使用しました。つまり、Jquery、JS、AJAXを使用しました。

div要素でラップされたコントロールがいくつかあり、ドロップダウンリストのクライアント側のインデックス変更イベントを介して非表示/表示にします。

サーバー側の検証またはその他のインスタンスによってポストバックが発生した場合、divは初期状態である古い値を保持しています。例:divは最初に表示され、クライアントでドロップダウンリストのインデックス変更を介して非表示にします。したがって、ポストバックが発生すると、非表示にする必要がありますが、再び表示されます。

私はhiddenfieldを使用して値を格納し、jquerydocument.readyイベントのHiddenfieldを介して値に応じてdivを表示/非表示にしました。

さて、私は、望ましい結果を得るための他のアプローチはありますか?現在、ほとんどすべてのアプリケーションがクライアントであり、AJAXが有効になっているため、これを行うための標準的なアプローチを期待しています。

4

1 に答える 1

0

ページ全体をリロードする場合は、状態をどこかに保存する必要があります。AJAX を使用すると、ページの完全なリロードを減らす/なくすことができるため、状態が保持されているように見えます。

ASP.Net (質問からの Web フォームを想定しています) は、属性を に配置することで、いくつかの値 ( Visiblea のプロパティなど) を「記憶」できます。これには通常、完全なポストバックまたは が必要です (どちらも理想的ではありませんが、機能します)。divViewStateUpdatePanel

その他の代替手段

  • 非表示のフィールドは、多くの場合に適しています。
  • Cookie は特定のケースで機能します (Cookie は小さくしてください。リクエストごとに送信されることに注意してください)。
  • Web ブラウザーのローカル ストレージは、サーバーがほとんど/何も知る必要のないクライアント側の値を格納する場合に最適です。
于 2012-12-11T07:13:40.903 に答える