我有一个带有RadioButtonList
的表格单元格。选择每个项目后,SelectedIndexChanged
事件应该触发,以便应用程序可以填充相关的列表框。问题是它停止了工作。现在,如果我选择第一个条目“分部”,则事件永远不会触发。我在事件处理程序上设置了一个断点,并为其他条目调用它,但不为分区调用。我相信如果其他一些代码干扰,我只是不知道从哪里开始寻找。
[更新] 如果不工作,我的意思是如果您选择了第2项,则更新有效;那么如果你选择第1项,它就不会。如果我更改“分部”项目出现在列表中的位置,则仍然存在问题。页面加载周期中是否存在可能导致事件处理链中止的内容?
private TableCell foo()
{
hierarchyLevel = new RadioButtonList();
ListItem DivisionItem = new ListItem();
DivisionItem.Text = "Division";
DivisionItem.Value = "afe_dvsn";
hierarchyLevel.Items.Add(DivisionItem);
ListItem DistrictItem = new ListItem();
DistrictItem.Text = "District";
DistrictItem.Value = "afe_dist";
hierarchyLevel.Items.Add(DistrictItem);
ListItem AreaItem = new ListItem();
AreaItem.Text = "Area";
AreaItem.Value = "afe_supt";
hierarchyLevel.Items.Add(AreaItem);
ListItem ForemanItem = new ListItem();
ForemanItem.Text = "Foreman";
ForemanItem.Value = "afe_frmn";
hierarchyLevel.Items.Add(ForemanItem);
ListItem AfeCodeItem = new ListItem();
AfeCodeItem.Text = "AFE Code";
AfeCodeItem.Value = "afe_code";
hierarchyLevel.Items.Add(AfeCodeItem);
ListItem PropertyItem = new ListItem();
PropertyItem.Text = "Property";
PropertyItem.Value = "prop_sub";
hierarchyLevel.Items.Add(PropertyItem);
TableCell cellforHierarchyLevel = new TableCell();
cellforHierarchyLevel.ID = "hierarchyLevel";
cellforHierarchyLevel.Controls.Add(hierarchyLevel);
hierarchyLevel.EnableViewState = true;
hierarchyLevel.AutoPostBack = true;
hierarchyLevel.SelectedIndexChanged += new EventHandler(hierarchyLevel_SelectedIndexChanged);
return cellforHierarchyLevel;
}
答案 0 :(得分:0)
可能是因为默认SelectedIndex
为0.因此,通过选择第一个单选按钮,SelectedIndex
实际上不会改变(因为第一个单选按钮将是索引0)。
您可以通过以下方式以编程方式选择第一个单选按钮:
rbcohortList.SelectedIndex = 0;
将单选按钮添加到列表后。
答案 1 :(得分:0)
当您选择不是第一个项目时,它是否有效,之后您选择Division
项目?
在添加最后一项(即SelectedIndex
行之前)后,尝试将-1
设置为TableCell cellforHierarchyLevel = new TableCell();
答案 2 :(得分:0)
从CreateChildControls()静默抛出异常。这中断了对事件处理程序的调用,使得它看起来好像没有调用事件处理程序。当我修复异常时,事件处理正常。