Элемент в RadioButtonList не срабатывает SelectedIndexChanged - PullRequest
0 голосов
/ 10 августа 2010

У меня есть ячейка таблицы с RadioButtonList.Когда выбран каждый элемент, событие SelectedIndexChanged должно срабатывать, чтобы приложение могло заполнить связанный список.Проблема в том, что он перестал работать.Теперь, если я выбрал первую запись «Отдел», событие никогда не сработает.Я ставлю точку останова на обработчик событий, и он вызывается для других записей, но не для Division.Я бы поверил, если какой-то другой код мешает, я просто не знаю, с чего начать.

[обновление] Не работая, я имею в виду, если вы выбрали Элемент № 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;
}

Ответы [ 3 ]

0 голосов
/ 10 августа 2010

Это работает, когда вы выбираете не первый элемент, а после этого вы выбираете Division элемент?

Попробуйте установить SelectedIndex на -1 после добавления последнего элемента (то есть до TableCell cellforHierarchyLevel = new TableCell(); строки)

0 голосов
/ 14 сентября 2010

Произошло исключение, которое выдается молча из CreateChildControls ().Это прервало вызов обработчику событий, из-за чего казалось, что обработчик событий не вызывается.Когда я исправил исключение, событие было обработано нормально.

0 голосов
/ 10 августа 2010

Вероятно, потому что по умолчанию SelectedIndex равно 0. Таким образом, при выборе первой радиокнопки SelectedIndex фактически не изменится (поскольку первая радиокнопка будет иметь индекс 0).

Вы можетепросто выберите первую радиокнопку программно, выполнив:

rbcohortList.SelectedIndex = 0;

после добавления радиокнопок в список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...