ナビゲーション グループを保持するプロパティを持つ Navigation という名前のユーザー コントロールがあります。
protected List<NavigationGroup> NavigationGroups { get; set; }
Page_Load 中にこのプロパティを設定します。
protected void Page_Load(object sender, EventArgs e)
{
// Get all navigation items.
NavigationGroups = From.Somewhere.Else.Groups;
}
この値は、コントロール内の他のメソッド呼び出し中にアクセスできます。ただし、実行が Render メソッドに到達するまでに、NavigationGroups プロパティは空になります。値が消える原因は何ですか?どうすれば値を固定できますか?
これはすべて1回のロード中に発生しますが、ポストバック間で保持しようとはしませんでしたが、プロパティを ViewStateに保存しようとしましたが、それも役に立ちませんでした。OnPreRender と Render の間はまだ消えています。
EDIT : コメントから情報を追加します。
他の場所で作成されたリストに設定されているため、値を失っている唯一のフィールドはこのフィールドのようです。ただし、自分のローカル リストに変更を加えても、他のリストには影響しません。ローカル リストが消去されても、他のリストは引き続き評価されます。