У меня есть вид сетки, строки которого создаются на основе строки базы данных, а затем ячейки заполняются элементами управления на основе значений в строках базы данных (флажки, метки, текстовые поля).Это все делается с помощью метода RowDataBound gridviews.Это работает без проблем.
Далее пользователь заполняет элементы в сетке.Здесь нет проблем.
После заполнения таблицы просмотра пользователь нажимает кнопку Сохранить, и вот тут у меня возникают проблемы.
У меня есть метод, который циклически перебирает каждую строку в базе данных и пытаетсясобрать элементы управления, чтобы сохранить их значения:
foreach (GridViewRow row in checklistGV.Rows)
{
CheckBox cbComp = (CheckBox)row.Cells[1].FindControl("CBCompForm" + myCT.formId);
CheckBox cbUp = (CheckBox)row.Cells[2].FindControl("CBUpForm" + myCT.formId);
HtmlGenericControl inFile = (HtmlGenericControl)row.Cells[3].FindControl("InFileForm" + myCT.formId);
TextBox tb = (TextBox)row.Cells[4].FindControl("CommForm" + myCT.formId);
}
Единственная проблема заключается в том, что ни один из элементов управления не отображается.Я сделал
ControlCollection test = row.Controls;
И строки показывают 5 ячеек, как и должно быть, и ни одна из ячеек не содержит элементов управления.
Что я делаю не так?
Редактировать: кнопка сохранения находится вне вида сетки (обычная кнопка asp:)