我有一个自定义UserControl(ConditionPanel),它包含多个其他类型为ConditionControl的自定义用户控件。这些ConditionControls是在运行时动态添加的。我在每个conditioncontrol中都有一个下拉列表,当我在运行时添加一个条件控件时,我想绑定它的SelectedIndexChanged事件。
我保留已经添加到会话变量中的所有自定义控件的信息,以便我可以在每次回发后再次添加它们。
问题在于,当我更改下拉列表的索引时,整个页面的回发首先发生,触发它的控件不再存在,因为另一个将在其中创建回发。所以我的IndexChangedEvent并没有以这种方式触发。我尝试在OnInit事件中绑定它,但这也不起作用。
FieldDD.SelectedIndexChanged += new EventHandler(FieldDD_SelectedIndexChanged1);
知道如何让这项工作成功吗?
答案 0 :(得分:0)
在运行时添加对象的问题是,如果您没有自己分配ID,则会在回发时获得自动ID。通过设置ID,您可以确保正确调用事件。