我有一个名为“ltlTextBox1”和“ltlTextBox2”的文字控件
我想做这样的事情
for (int i = 1; i <= 2; i++)
{
string textbox = "ltlTextBox" + i;
textbox.Text = "Write this";
}
答案 0 :(得分:2)
TextBox textbox = this.FindControl("ltlTextBox" + i) as TextBox;
if (textbox != null) {
textbox.Text = "Write this";
}
答案 1 :(得分:0)
我相信asp.net中有一个LiteralControl控件。这很可能会提供您所需的功能。
除此之外,我认为我们可能需要更多信息来帮助您了解您尝试使用这些文字控件的内容/方式/位置。
(扩展此)
LiteralControl l = this.FindControl("ltlTextBox") as LiteralControl;
l.Text = "My Text";
答案 2 :(得分:0)
是string类型的变量。 String没有名为Text的属性。
为变量赋值不会更改值的名称。即("ltlTextBox" + 1).ToString()
打印“ltlTextBox1”,而ltlTextBox1.ToString()
打印System.Web.Ui.Controls.LiterlaControl或该变量的类型。
您需要这样做:
ltlTextBox1.Text =“写这个”; ltlTextBox2.Text =“写这个”;
或
var controls = new[]{ ltlTextBox1, ltlTextBox2};
for(int i = 0;i<controls.Length;i++){
controls[0].Text = "Write this";
}