我有一个相当复杂的页面,它在转发器内动态构建用户控件。在初始化之前,必须在 Init 页面事件期间绑定此转发器,ViewState
否则动态创建的用户控件将不会保留其状态。
这会创建一个有趣的 Catch-22,因为我将转发器绑定到的对象需要在初始页面加载时创建,然后保留在内存中,直到用户选择离开或保存。
因为我不能ViewState
用来存储这个对象,但在初始化期间它仍然可用,我不得不将它存储在 Session 中。
这也有问题,因为我必须在非回发期间显式地清空会话值以模拟其ViewState
工作方式。
在这种情况下,必须有更好的状态管理方法。有任何想法吗?
编辑:一些关于使用的好建议LoadViewState
,但是当我这样做时我仍然遇到状态未恢复的问题。
这里有点如果页面结构
页面 --> 用户控件 --> 中继器 --> 动态创建的 N 个用户控件。
我将覆盖的内容LoadViewState
放在 parentUserControl
中,因为它被设计为完全封装并且独立于它所在的页面。我想知道这是否是问题所在。