【ASP.NET】POSTBACKとVIEWSTATEとは
【今回の紹介】
仕事で、ASP.NETを学習する機会があったので、そのメモを残します。
【内容】
■POSTBACKについて
POSTBACKとは、POST元ページとPOST先じページが同一のHTTP通信のこと。
主にASP.NETで使用されている。
POSTBACK時は、POSTしたデータをサーバ側で受け取り、ページを再生成している。
特徴
・同じページに遷移することで、ページ数がへる(本来なら、POSTデータを受け取って、表示するサーバ処理が行える別ページが必要)
・POSTを受け取るコーディングが減る
・POSTBACKするたびに、ページが再生成(Pageオブジェクトの破棄)しているため(フォームも当然作り直されている)、ページイベントが毎回発生する
→ページのロードがPOSTBACKなのか、初期アクセスなのか判定できる
・POST前のページ状態は、ビューステートが自動管理している
ポストバック間で維持する必要がある設定を格納できる ASP.NET Web ページのフィールド。
■ビューステート(状態管理)について
ポストバック間で維持する必要がある設定を格納できる ASP.NET Web ページのフィールド。
特徴
生成タイミング;初回POST時(以降、サーバ側にPOSTBACKするたびにブラウザとサーバ間でやりとりされる)
管理方法 :ブラウザにhiddenタグで、エンコード(暗号化はされていない)されずに保持されている
対象 :ページ内で動的に変更したコントロールのプロパティ、初期表示にプログラムから設定した値
対象外 :formされる部品の値(POSTBACK時にPOSTされ、サーバ側コントロールによって復元されるため、ビューステートにて管理する必要がない)
備考 :ViewStateは「ページ単位」「コントロール単位」に制御可能
注意点 :プログラマーが意識していない部分で、ビューステートのデータ通信が発生しているため、ネットワークの負荷が知らない間に
増加している可能性がある。
@IT:.NET TIPS [ASP.NET]ビューステートに保存されるものは? - Webフォーム