我有一个gridview,其行是基于数据库行创建的,然后根据数据库行(复选框,标签,文本框)中的值来控制单元格。这都是通过gridviews RowDataBound方法完成的。这没有任何问题。
接下来,用户将填写gridview中的项目。这里没问题。
在填写gridview后,用户点击“保存”,这就是我遇到麻烦的地方。
我有一个循环遍历数据库中每一行的方法,并尝试收集控件以保存它们的值:
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个单元格应该没有,并且没有单元格包含控件。
我做错了什么?
编辑:保存按钮位于gridview(普通的asp:按钮)
之外