ASP NET - C#:通过Id访问控件

时间:2011-08-16 13:06:16

标签: c# asp.net dynamic controls

在我的ASP.Net项目中;我正在使用C#作为代码。

我的一个项目功能会根据用户的需要动态创建一些文本框。每个文本框都有不同的ID。

我的问题是如何通过ID访问这些文本框?

假设创建了5个文本框,如何编辑其中一个特定的代码?

Bellow是我用来生成这些文本框的实际代码:

int name_id = 1;
foreach (WebApplication5.ServiceReference1.ClientData client in Clients)
{
    TextBox1 = new TextBox();
    TextBox1.ID = name_id.ToString();
    TextBox1.Style["Position"] = "Absolute";
    TextBox1.Style["Top"] = y + "px";
    TextBox1.Style["Left"] = x + "px";
    TextBox1.Text = client.descricao;
    Form.Controls.Add(TextBox1);

    name_id++;
    x = x + 10;
    y = y + 10;
}

2 个答案:

答案 0 :(得分:11)

您可以在后面的代码中执行此操作;

TextBox tb1 = (TextBox)FindControl(name_id)

答案 1 :(得分:0)

TextBox tb = Form.FindControl(TextBox1.ID) as TextBox

只有这样,您无法直接通过ID访问的原因是缺少* .designer.cs。