我一直在尝试遵循一些教程和代码示例,但有些东西并没有像我预期的那样工作。
我在网页上有一系列文本框,我需要遍历每个文本框并将其值保存到数据库中。页面上的文本框数量会有所不同。我从数据库中加载它们。它们都被添加到一个表对象中。
TableCell cellb = new TableCell();
TextBox txtAnswer = new TextBox();
txtAnswer.TextMode = TextBoxMode.MultiLine;
txtAnswer.Rows = 2;
txtAnswer.ID = "field_" + dataRow["fieldID"].ToString();
txtAnswer.Text = "answer"; //this will be got from the database
cellb.Controls.Add(txtAnswer);
以便将文本框添加到表格行。然后我有一个保存按钮,其中包含以下代码
foreach (Control c in Page.Controls)
{
foreach (Control childc in c.Controls)
{
if (childc is TextBox)
{
TextBox tmpText = (TextBox)childc;
tmpField = tmpText.ID.Split('_');
fieldID = Convert.ToInt32(tmpField[1]);
//save value to the database (eventually)
debug.InnerHtml += tmpText.Text; //this just outputs the values for now
}
}
}
所以上面应该循环遍历所有页面控件并找到添加到 page_load 上的文本字段。但是,我现在想知道是否是因为它们不存在。所以当我保存页面时,它不知道控件。我可以看到表格控件,但里面什么都没有……有什么想法吗?!