2010-01-19 99 views
0

请告诉我如何维护占位符的状态。我有一个占位符,在其中我动态地添加了许多图像控件,但是当我的页面刷新时,占位符的所有控件都会从中移除。占位符的EnableViewState设置为true ..请告诉我如何保持其状态..如何在asp.net中维护PlaceHolder的ViewState

回答

6

ViewState的注册只是初始化事件发生后,在页面生命周期中。

如果您在Init后添加动态图像,则它们不会被注册为ViewState的一部分。如果您在Page_Init期间将它们添加到占位符控件中,您的问题将得到解决。

+0

请给我解决方案...如何在page_init之后添加控件时保持状态。 – 2010-01-19 07:12:29

+0

如果您在Init之后添加它们,那么您需要在*每个回发中以相同方式重新创建控件*。确保图像控件具有完全相同的ID和所有内容。 – womp 2010-01-19 07:20:54

+2

womp ...我不得不用一个快速测试应用程序仔细检查自己,因为你有25K的声望......但是你在这里抽烟。即使在Pre_Init之前或期间添加,动态添加的控件也不会自动存储/恢复到ViewState中。我在这里误解了什么吗? – Bryan 2010-01-19 07:23:47

2

我认为你需要添加控件在Page_PreInt()事件

+0

不可能..bcoz控件是在某些情况下添加的基础 – 2010-01-19 07:11:33

0

您必须在每个页面加载中添加动态控件。控件不存储在ViewState中,只控制不发布数据的控件的状态和数据。