C#のEnableViewStateとViewStateModeの違い
C#では、EnableViewStateとViewStateModeは、どちらともページのビュー ステートと関連していますが、それぞれやや違いがあります。
- EnableViewState:EnableViewStateはページがビューステートを利用するかどうかのブール型のプロパティです。EnableViewStateプロパティがtrueの場合、ページは既定でビューステートを使用してコントロールの状態情報を保存および復元します。falseの場合、ビューステートを使用してコントロールの状態情報を保存しなくなります。これはページのポストバック時にコントロールの状態が維持されず、ページ間で引き渡されなくなることを意味します。
- ViewStateMode:コントロールがページのビュー ステート内でどのように動作するかを指定する列挙型プロパティです。ViewStateMode には次の選択肢があります。
- 有効:デフォルト オプション。コントロールは、親コントロールと同じ視覚状態モードを使用します。
- コントロールが無効されたビュー状態を表します。また、ビュー状態を使ってその状態情報を保存したり復元したりしません。
- 継承:コントロールが、親コントロールからビューステートモードを引き継ぐことを示します。
- NotSet:コントロールがビュー状態モードを設定していないことを表します。
要約:
EnableViewStateはページ全体にビュー ステートを有効にするかどうかを指定し、ViewStateModeはページにおけるコントロールのビュー ステートの動作を指定する。EnableViewStateはページレベル、ViewStateModeはコントロールレベルだ。EnableViewStateの既定値はtrueでページ レベルで設定でき、ViewStateModeの既定値はEnabledでコントロール レベルで設定できる。