私のコード ビハインド (c#) ファイルは、while() ループを使用して、データベース内の任意の数の質問に対して RadioButtonLists を動的に宣言します。
for ループで各 tmpRBL にアイテムを追加します。
各 RadioButtonList を、while() ループの各反復の開始時に作成する子パネルに登録します。
次に、各パネルを親パネルに追加します。
while(reader.Read()
{
...
RadioButtonList tmpRBL = new RadioButtonList();
temp = "RadioButtonList" + count.ToString();
tmpRBL.ID = temp;
tmpRBL.RepeatDirection = System.Web.UI.WebControls.RepeatDirection.Vertical;
tmpRBL.TextAlign = System.Web.UI.WebControls.TextAlign.Left;
...
for (int i = 1; i <= numAnswers; i++)
{
tmpItem = new ListItem("", i.ToString());
tmpRBL.Items.Add(tmpItem);
}
...
p.Controls.Add(tmpRBL);
...
questionPanel.Controls.Add(p);
}
これらの動的に作成された RadioButtonLists の selectedIndexes を取得するにはどうすればよいですか? 他の同様の質問からオンラインでさまざまな修正を試みることに一日の大半を費やしましたが、うまくいきませんでした。
Chrome で「Inspect Element」を使用すると、割り当てた ID (RadioButtonList1、RadioButtonList2 など) を使用して目的の場所に RadioButtonLists を表向きに表示できますが、試みたすべてが null オブジェクトで終了します。
私は C# に比較的慣れておらず、動的コントロールを扱うのはこれが初めてです。