0


0

RadioButtonListの項目がSelectedIndexChangedを起動していません

`RadioButtonList`を持つテーブルセルがあります。 各項目が選択されると、 `SelectedIndexChanged`イベントが発生すると想定されているため、アプリは関連リストボックスに入力できます。 問題は、動作を停止したことです。 最初のエントリ「Division」を選択した場合、イベントは発生しません。 イベントハンドラーにブレークポイントを設定すると、他のエントリに対して呼び出されますが、部門に対しては呼び出されません。 他のコードが干渉している場合、どこから探し始めればいいかわかりません。

[update] By not working, I mean if you selected Item #2, the update 働く;次に、アイテム#1を選択した場合、選択しません。 リストの「Division」項目の表示場所を変更しても、まだ問題があります。 ページの読み込みサイクルに、イベント処理チェーンを中断させる可能性のあるものがありますか?

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 Answer


0


おそらく、デフォルトの `SelectedIndex`が0であるためです。 したがって、最初のラジオボタンを選択しても、 `SelectedIndex`は実際には変更されません(最初のラジオボタンはインデックス0になるため)。

次の操作を行うことにより、プログラムで最初のラジオボタンを選択できます。

rbcohortList.SelectedIndex = 0;

リストにラジオボタンを追加した後。


0


最初の項目ではない項目を選択し、その後で「Division」項目を選択すると機能しますか?

最後のアイテムを追加した後、「SelectedIndex」を「-1」に設定してみてください(つまり、 「TableCell cellforHierarchyLevel = new TableCell();」行の前)


0


CreateChildControls()から静かにスローされる例外がありました。 これにより、イベントハンドラーへの呼び出しが中断され、イベントハンドラーが呼び出されていないように見えました。 例外を修正すると、イベントは正常に処理されました。