C# での使用方法に混乱していますViewState
。たとえば、次を使用する利点は何ですか。
ViewState["VST"]="Value1";
Lable1.Text= ViewState["VST"].ToString();
私が使用できるのに対し:
string container= "Value1";
Lable1.Text= container;
ViewState は、ページのポストバックと共に保持される変数で構成されます。これは、変数がクライアントに送信され、クライアントがそれらをページ全体と共に送り返すためです。
したがって、次の場合:
string container= "Value1";
Lable1.Text= container;
次に、ユーザーがページを見て送信ボタンを押すと、container
文字列は存在しません。
ただし、ViewState を使用する場合、ViewState["VST"] は、ユーザーがページを送信して送り返すときに「更新」されるため、値を保持します。
ここで詳細を読み、ASP.NET ページのライフ サイクルについても理解してください。
ドキュメントに従って:
ビュー ステートは ASP.NET ページ フレームワークによって自動的に使用され、ポストバック間で保持する必要がある情報を永続化します。この情報には、コントロールのデフォルト以外の値が含まれます。ビュー ステートを使用して、ページに固有のアプリケーション データを格納することもできます。
詳細については、次のリンクを参照してください: http://msdn.microsoft.com/en-us/library/bb386448(v=vs.100).aspx
ポストバック後も値を保持する場合は、ViewState が最適なオプションです。
アプリケーションがポストバックを行うたびに、コントロールの現在の値が消去されます。したがって、ページ内に値を保存するには、それらを ViewState に保存できます。もちろん、最初に EnableViewState プロパティを true に設定する必要があります。追加情報、複数のページにジャンプするときに値または状態を保存する場合は、代わりに Session を使用できます。