我在C#中动态创建了一些表,它们给了我viewstate问题。我有一个复选框表和一个取决于第一个的数字输入表。当我按下导致回发的按钮时,我遇到了一些问题。这是一个流程图。
的Page_Load
回发按钮
在创建数字输入表之前,有没有办法将视图状态加载到复选框表?我试图在一个或另一个地方创建数字输入表(在页面加载或回发按钮方法),但两者都不完全正确。我知道需要在每次加载时创建动态内容,以便显示视图状态。
我怀疑我可能需要创建一个数据表并将其存储在视图状态中,以便复选框正确显示...
答案 0 :(得分:0)
我会在您网页的PreInit
或Init
事件中添加动态控件。虽然您可以在Init
阶段之后添加它们,但是为控件加载了ViewState
数据。
如果您在Page_Load
期间添加控件,则控件必须播放赶上,这意味着它会遍历页面生命周期中的所有事件,直到它赶上其余部分的页面。这可能会导致您遇到的问题。
以下是关于Page Lifecycle
和ViewState
的精彩文章:
http://www.codeproject.com/Articles/24611/ASP-NET-Internals-Viewstate-and-Page-Life-Cycle