Web開発を行う場合、昔からよく言われていたのが画面表示が遅い、操作性が悪いといったことです。
この画面表示が遅いのを少しでも改善しようと、HTMLで不要なTableタグは使わないなどの工夫をしてもらったこともありました。
しかしASP.NETで開発を行うようになって、はや数年。
ハード的にも既にリッチクライアントが主流となりサーバー性能も俄然アップしました。
皆さんご存知の通り、ASP.NETではVIEWSTATEが使用されています。
Webコントロールなどで使用されているデータを隠しコントロールとして保持しているといったものですね。
これを使用することにより、画面の再表示などASPのようにコードでがりがり記述することなく行うことができます。
VisualStudio.NETを使用していると、Webコントロールでは基本的にこのVIEWSTATEを使用するプロパティ(EnableViewState)がTrueとなっています。
そうするとすべてのコントロールの値が保持されることになります。
ここで懸念されるのが、.NETを始めたばかりのプログラマなどでは、このEnableViewStateプロパティの存在を知らずにデフォルトのままコントロールを貼り付け、膨大な量のデータを保持するページを作り上げてしまうということがよくあることです。
幸いにもリッチクライアント化が進んでいるため、多少のコントロール数では問題にならないことのほうが多いのですが、やはりプログラマであるからには、少しでもページを軽くする、表示を速くするということを考えたいものです。
そのためにはVIEWSTATEを使う必要のないコントロール、例えば一時的にメッセージを表示するだけのラベルなどでは、EnableViewStateをFalseにするといったことを忘れずに行いましょう。