我只想使用一个文本框填充一个又一个标签。现在它总是填充label3,但不是label4,逻辑有什么问题?
protected void Button5_Click(object sender, EventArgs e)
{
if (Label3.Text == null)
{
Label3.Text = TextBox1.Text;
}
else
{
Label4.Text = TextBox1.Text;
}
}
答案 0 :(得分:1)
您可以遍历表单上的所有标签(您也可以执行此recursivley)并执行类似的操作。如果您只想更新某些标签,也可以进行更多检查。
foreach (Control ctl in this.Controls)
{
if (ctl.GetType() == typeof(Label))
{
Label l = (Lablel)ctl;
if (String.IsNullOrEmpty(l.Text)) l.Text = TextBox1.Text;
}
}
答案 1 :(得分:0)
你一定在寻找这样的东西:
protected void Button5_Click(object sender, EventArgs e)
{
if (StringIsNullOrEmpty(Label3.Text))
{
Label3.Text = TextBox1.Text;
}
if (StringIsNullOrEmpty(Label4.Text))
{
Label4.Text = TextBox1.Text;
}
}
在您的示例中,您在else语句下有Label4 assingment,只有if语句返回false(Label3.Text!= null)才会执行。
答案 2 :(得分:0)
这里的基本逻辑。在评论中查看您的问题。
if (Label3.Text == null)
{
Label3.Text = TextBox1.Text;
}
else 'this will NEVER HAPPEN IF Label3.Text is NULL
{
Label4.Text = TextBox1.Text;
}
相反,这样做
if (Label3.Text == null)
{
Label3.Text = TextBox1.Text;
}
if (Label4.Text == null)
{
Label4.Text = TextBox1.Text;
}