更新c#和asp.net中动态创建的文本框

更新c#和asp.net中动态创建的文本框,c#,asp.net,dynamic,textbox,C#,Asp.net,Dynamic,Textbox,我有一个asp.net web应用程序,我在其中根据表中的计数生成文本框列表,并在列末尾动态生成按钮以更新文本框中的值。我附带了示例代码供参考,例如,我分配了 c限制为5如何在动态生成的按钮单击事件中更新此文本框控件 示例代码: TableRow rowpoint = new TableRow(); TableCell cellpoint = new TableCell(); cellpoint.Text = "To

我有一个asp.net web应用程序,我在其中根据表中的计数生成文本框列表,并在列末尾动态生成按钮以更新文本框中的值。我附带了示例代码供参考,例如,我分配了 c限制为5如何在动态生成的按钮单击事件中更新此文本框控件

示例代码:

TableRow rowpoint = new TableRow();
                    TableCell cellpoint = new TableCell();
                    cellpoint.Text = "Total Points";
                    rowpoint.Cells.Add(cellpoint);

                    for (int c = 0; c < 5; c++)
                    {

                        TableCell cellinput = new TableCell();
                        TextBox txtinput = new TextBox();

                        cellinput.Controls.Add(txtinput);
                        rowpoint.Cells.Add(cellinput);
                    }


                    TableCell totpoint = new TableCell();

                    totpoint.BackColor = System.Drawing.Color.FromArgb(221, 221, 221);

                    Button btnupdate2 = new Button();
                    btnupdate2.Text = "Update";
                    totpoint.Controls.Add(btnupdate2);
                    rowpoint.Cells.Add(totpoint);
                    tbl1.Rows.Add(rowpoint);
                    //End Adding Total Points
TableRow行点=新建TableRow();
TableCell cellpoint=新的TableCell();
cellpoint.Text=“总分”;
rowpoint.Cells.Add(cellpoint);
对于(int c=0;c<5;c++)
{
TableCell cellinput=新的TableCell();
TextBox txtinput=新建TextBox();
cellinput.Controls.Add(txtinput);
rowpoint.Cells.Add(cellinput);
}
TableCell totpoint=新的TableCell();
totpoint.BackColor=System.Drawing.Color.FromArgb(221221221221);
按钮btnupdate2=新按钮();
btnupdate2.Text=“更新”;
totpoint.Controls.Add(btnupdate2);
rowpoint.Cells.Add(totpoint);
tbl1.行.添加(行点);
//结束添加总分

创建文本框时,为每个文本框指定一个唯一的id。创建按钮时添加按钮单击处理程序

btnupdate2.Click += new System.EventHandler(this.btnupdate2_OnClick)
然后编写下面的事件处理程序

protected void btnupdate2_OnClick(object sender, EventArgs e) {


}

在这个框架内,使用FindControl获取每个文本框。

嗨,praveen当我为textbox提供唯一id并构建应用程序时,它会自动将“ctl00$contentpanel”附加到我的文本框id。因此,如何在使用FindControl时获取textbox的确切id,您只需要提供您提供的id。例如:如果您设置为像txtinput.ID=“id1”;然后可以使用((Textbox)FindControl(“id1”)获取Textbox运行时。将其映射到有效的唯一标识符(带前缀)将自动完成。我尝试如您所说,但它会给我错误,例如此对象引用未设置为对象的实例。我还尝试使用this.form.Controls.count对表单中的控件进行计数,它给了我计数3,因为我的表单包含许多控件。我想这可能是因为我使用的是从主表单继承的web内容表单,所以它会计算此主表单上的控件。如果说……Find控件将不会递归地查看。