Мне нужно создать динамические радиокнопки на моей странице, а затем получить доступ к их значениям в обратной передаче
Я создаю кнопки, используя следующий код:
foreach (Answer answer in question.Answers)
{
RadioButton radioButton = new RadioButton();
radioButton.Text = answer.Text;
radioButton.GroupName = question.Id.ToString();
radioButton.ID = question.Id + "_" + answer.Id;
TableRow answerRow = new TableRow();
TableCell answerCell = new TableCell();
TableCell emptyCell = new TableCell();
emptyCell.ColumnSpan = 2;
answerCell.Controls.Add(radioButton);
answerRow.Cells.Add(emptyCell);
answerRow.Cells.Add(answerCell);
table.Rows.Add(answerRow);
}
В посте назад япопробуйте получить доступ к переключателям, используя их идентификатор создания:
foreach (Answer answer in question.Answers)
{
RadioButton currentAnswer = Page.FindControl(question.Id + "_" + answer.Id) as RadioButton;
if (currentAnswer != null) // Damn this null
{
if(currentAnswer.Checked)
{
answers[questionCounter] = answer;
}
}
else
{
allQuestionsAnswered = false;
}
}
Но похоже, что метод find никогда не находит ответ.
Пожалуйста, дайте мне знать, когда использовать приведенный выше код.В методе загрузки, в предварительной загрузке, при нажатии кнопки метода submit.
Кажется, что я всегда получаю нулевое значение и никогда не нахожу элемент управления.