У меня есть веб-форма, которая будет динамически создавать количество контрольных списков, заполненных данными на основе номера строки в базе данных.Затем это добавляется к заполнителю для отображения.
есть кнопка при нажатии, которая добавит значение выбранных флажков в базу данных, но сейчас, когда кнопка нажата и после обратной передачи, на странице отобразится ошибка «System.NullReferenceException».
следующий код написан в Page_Load в (! Page.IsNotPostBack) и в цикле, который будет динамически создавать несколько контрольных списков:
CheckBoxLis chkContent = new CheckBoxList();
chkContent.ID = chkIDString; //chkIDString is an incremental int based on the row count
chkContent.RepeatDirection = RepeatDirection.Horizontal;
foreach (List<t> contentList in List<t>) //data retrieved as List<t> using LINQ
{
ListItem contents = new ListItem();
contents.Text = contentList.Title;
contents.Value = contentList.contentID.ToString();
chkContent.Items.Add(contents);
}
plcSchool.Controls.Add(chkContent); //plcSchool is my placeholder
plcSchool.Controls.Add(new LiteralControl("<br>"));
protected void btnAdd_Click(object sender, EventArgs e)
{
CheckBoxList cbl = Page.FindControl("chkContent4") as CheckBoxList;
Response.Write(cbl.SelectedValue.ToString()); // now im just testing to get the value from one of the checkboxlist
}
Любой, кто может помочь, как кажется, элементы управления не являютсявоссоздается после обратной передачи, поэтому не может найти элемент управления и выдается исключение нулевой ссылки.