Я динамически генерирую переключатели для списка вопросов, каждый вопрос имеет как минимум 3 варианта ответа. я сгенерировал радио-кнопки в DIV называется questionsList
, но я не могу их или их Fieldset доступ ... Вот мой кодДоступ к динамически созданным элементам html из кода C# позади
_questions = Page.Form.FindControl("questionsList");
foreach (Question q in _survey.Questions)
{
if (!string.IsNullOrEmpty(q.QuestionEng))
{
List<Answers> answers = _blSurvey.GetAnswers(q.TypeOfQuestion);
string choiceItem = string.Empty;
foreach (Answers a in answers)
{
choiceItem += "<input type='radio' value='" + a.AnswerId + q.QuestionId +
"' name='radio-choice-v-2' id='radio" + idCount +
"' runat='server' /><label for='radio" + idCount++ +
"' >" + a.AnswerEng + "</label>";
}
var question =
new LiteralControl(
"<form><fieldset runat='server' class='questions' data-role='controlgroup' ID ='question" +
q.QuestionId + "'>" +
"<legend runat='server'>" + ++index + ". " + q.QuestionEng + "</legend>" + choiceItem +
"</fieldset></form>");
_questions.Controls.Add(question);
}
}
Я пытался использовать FindControl()
со строкой вопроса и идентификатор на вопрос, так как она это IS, указанный мной для набора полей (ID ='question" + q.QuestionId
), но он не работал, Я также пытался получить доступ к любому из динамически сгенерированных элементов управления, но всегда получаю null. Если мой способ создания элементов управления некорректен, пожалуйста, скажите мне, что является лучшим методом для этого. Я очень новичок в asp.net. Заранее спасибо.
Plain HTML элементы являются * не * Управление. Они полностью живут на стороне клиента. Однако, если они являются элементами формы (какие переключатели есть), и они находятся в теге '