这又老栗子了。
我的页面构造如下;我有一个下载列表,在第一次加载时是数据绑定的。当用户从中选择一个值时,将执行回发,然后对转发器控件进行数据绑定。
此转发器控件的ItemTemplate包含占位符控件。在转发器的ItemDataBound事件后面的代码中,我向这个占位符动态添加了两个控件,一个隐藏字段和一个复选框。
当用户单击“保存”按钮时,我想要迭代所有这些动态创建的隐藏字段和复选框,并确定它们的值。但是,当用户单击“保存”按钮时,这些控件将不再存在,如页面跟踪中所示。
我知道这是一个生命周期问题,我在此看到的文章建议使用Init方法动态创建控件,但我不能因为我的页面工作方式,例如转发器控件仅出现,并在从下拉列表中选择一个值后绑定。
通过单击保存按钮导致的回发维护动态控件需要做什么?
答案 0 :(得分:0)
问题是当您按下保存按钮时,您不会重新绑定转发器,并且您在运行时添加的ItemDataBound事件的控件不再可用(因为它们不再存在) 为什么不在设计时使用Eval函数添加这些控件设置隐藏字段的值?
答案 1 :(得分:0)
您只是动态地创建它们,只需对下拉设置可见性的选择更改为true或false,以解决您的问题。在回发后您必须再次创建这些控件,因为它们是动态的创建