C#转换字符串字面控制

问题描述:

我有一个名为“ltlTextBox1”和“ltlTextBox2”文字控制C#转换字符串字面控制

我愿做这样的事情

for (int i = 1; i <= 2; i++) 
{ 
    string textbox = "ltlTextBox" + i; 
    textbox.Text = "Write this"; 
} 
+3

的winform,WPF,asp.net,MVC,...?来吧,给它一个正确的标签! – 2011-08-17 13:14:19

TextBox textbox = this.FindControl("ltlTextBox" + i) as TextBox; 

if (textbox != null) { 
    textbox.Text = "Write this"; 
} 
+1

Woops。感谢编辑Jamiec。 – 2011-08-17 13:54:31

我相信这是一个LiteralControl控制在asp.net中。这很可能会提供您需要的功能。

除此之外,我认为我们可能需要更多信息来帮助您了解您尝试使用这些文字控件的方式/方式/位置。

在你的代码的文本框(在此扩大)

LiteralControl l = this.FindControl("ltlTextBox") as LiteralControl; 
l.Text = "My Text"; 

为字符串类型的变量。字符串没有名为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"; 
    }