我有一个名为 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 属性为空。是什么导致价值消失,我该如何让它坚持下去?
即使这一切都发生在一次加载期间 - 不是试图在回发之间保持它 - 我尝试将属性存储在 ViewState 中,但这也无济于事。仍然在 OnPreRender 和 Render 之间消失。
编辑:从评论中添加信息。
看起来唯一失去价值的字段就是这个字段,因为它被设置为在其他地方创建的列表。但是,对我的本地列表进行更改不会影响另一个列表,并且当我的本地列表被擦除时,另一个列表仍然受到重视。