ViewStateを初期化するタイミングと方法は?
質問
ViewStateを使用してコレクションを保存しようとしていますが、常にエラーが発生します。 オブジェクト参照がオブジェクトインスタンスに設定されていません。 いつ、どこで初期化するのかわかりませんか?時々私は使用します:
if(ViewState["X"]==null) ViewState["X"] = new List<Checkitem>();
そしてPage_Init()イベントに配置しますが、毎回新しいインスタンスに初期化を続けます!!
次のように記述しようとすると:
if (!IsPostBack)
ViewState["keywords"] = new List<Checkitem>();
後で初期化されず、上記のエラーが表示されます!!
解決
ViewState.Add("key", "value"); //adding value in viewstate
String abc = ViewState["key"].ToString(); //getting value from viewstate
他のヒント
この投稿とその回答を参照して、ASP.NETページライフサイクルを参照することをお勧めします(参照されている投稿に含まれる画像は、ViewStateが利用可能な場所の手がかりを提供するはずです:
所属していません StackOverflow