asp.netC#中有5个控件 label1,label2,text1,text2,button1.
我在text1输入内容.点击button1..那么label1的值就变成我在text1输入的内容
我在text1输入内容.点击button1..那么label2的值就变成我在text1输入的内容我现在是用的一个button1的单击事件.内容是
protected void Button1_Click(object sender, EventArgs e)
    {
        label1.text=text1.value
        label2.text=text2.value
    }
这样必须要2个文本框都输入内容点击button才都有内容..如果只到一个文本框里输入内容另外一个label的值就会变成空的.
但是如果我想实现:        如果我只在其中一个文本框中输入内容,然后单击button1.只改变对应的label1的值..而另外一个还是保存原来的  值..这个代码应该怎么写呢.?就要这5个控件实现..不能在添加新的控件了.

解决方案 »

  1.   

    加个判断
    protected void Button1_Click(object sender, EventArgs e)
      {
      if(text1.value.Trim()!="")
      {
          label1.text=text1.value;
      }
      if(text2.value.Trim()!="")
      {
          label2.text=text2.value;
      }
    }
      

  2.   

    protected void Button1_Click(object sender, EventArgs e)
      {
      label1.text=text1.value
      if(!String.IsNullOrEmpty(text2.value))label2.text=text2.value
      }
      

  3.   


        public partial class Form1 : Form
        {
            private bool text1Changed = false;
            private bool text2Changed = false;
            public Form1()
            {
                InitializeComponent();
                this.textBox1.TextChanged += new EventHandler((sender, e) => { this.text1Changed = true; });
                this.textBox1.TextChanged += new EventHandler((sender, e) => { this.text2Changed = true; });
            }        private void button1_Click(object sender, EventArgs e)
            {
                if (this.text1Changed)
                {
                    this.label1.Text = this.textBox1.Text;
                }
                if (this.text2Changed)
                {
                    this.label2.Text = this.textBox2.Text;
                }
            }
        }
      

  4.   

    记录当前被输入的TextBox,当Button1按下时,根据当前被输入Text去更新对应的label
      

  5.   


        public partial class Form1 : Form
        {
            private bool text1Changed = false;
            private bool text2Changed = false;
            public Form1()
            {
                InitializeComponent();
                this.textBox1.TextChanged += new EventHandler((sender, e) => { this.text1Changed = true; });
                this.textBox2.TextChanged += new EventHandler((sender, e) => { this.text2Changed = true; });
            }        private void button1_Click(object sender, EventArgs e)
            {
                if (this.text1Changed)
                {
                    this.label1.Text = this.textBox1.Text;
                }
                if (this.text2Changed)
                {
                    this.label2.Text = this.textBox2.Text;
                }
            }
        }
      

  6.   

    假如有很多个label和text控件...不是要加很多个判断.?  有什么好的判断方法么.?
      

  7.   

    我在text1输入内容.点击button1..那么label1的值就变成我在text1输入的内容
    我在text1输入内容.点击button1..那么label2的值就变成我在text1输入的内容
    LZ,你确定红色那句是那样没错?
    不是“我在text2输入内容.点击button1..那么label2的值就变成我在text2输入的内容”?
      

  8.   

    呵呵..确实应该是text2...好了..我弄明白了..结贴了.
      

  9.   

    TextBox和Label之间先建立匹配关系.
    根据Text变化,动态改变Button的Tag属性
            TextBox text1, text2;
            Label lable1, lable2;
            Button button1;            text1.Tag = lable1;
                text2.Tag = lable2;
                text1.TextChanged += OnTextChanged;
                text2.TextChanged += OnTextChanged;
                button1.Click += OnButtonClicked;        private void OnTextChanged(object sender, EventArgs e)
            {
                button1.Tag = sender;
            }        private void OnButtonClicked(object sender, EventArgs e)
            {
                 Label lbl;
                 TextBox text;
                if(button1.Tag != null && 
                    (text = button1.Tag as TextBox) != null &&
                    (lbl = text.Tag as Label) != null)
                {
                    lbl.Text = text.Text;
                }
            }