2013-07-16 145 views
0

我的网页中有三个单选按钮和五个文本框。我想根据收音机选择禁用文本框。此代码工作正常,但当我检查一个不同的单选按钮时,以前的灰色文本框不会变成白色。请纠正我,我已经尝试了几种方法,它没有工作。禁用基于单选按钮选择的文本框

protected void Page_Load(object sender, EventArgs e) 
    { 
      if (!IsPostBack) 
     { 
      txtName.Enabled = false; 
      txtTitle.Enabled = false; 
      txtOrganization.Enabled = false; 
      txtPhone.Enabled = false; 
      txtEmail.Enabled = false; 

     } 
     if (rdPhone.Checked == true) 
     { 
      txtName.Enabled = true; 
      txtName.Focus(); 
      txtTitle.Enabled = true; 
      txtOrganization.Enabled = true; 
      txtPhone.Enabled = true; 
      txtEmail.Enabled = false; 
      txtEmail.BackColor = System.Drawing.Color.LightGray; 
     } 
     if (rdEmail.Checked == true) 
     { 
      txtName.Enabled = true; 
      txtName.Focus(); 
      txtTitle.Enabled = true; 
      txtOrganization.Enabled = true; 
      txtPhone.Enabled = false; 
      txtPhone.BackColor = System.Drawing.Color.LightGray; 
      txtEmail.Enabled = true; 
     } 

     if (rdDoNotContact.Checked == true) 
     { 
      txtName.Enabled = false; 
      txtName.BackColor = System.Drawing.Color.LightGray; 
      txtTitle.Enabled = false; 
      txtTitle.BackColor = System.Drawing.Color.LightGray; 
      txtOrganization.Enabled = false; 
      txtOrganization.BackColor = System.Drawing.Color.LightGray; 
      txtPhone.Enabled = false; 
      txtPhone.BackColor = System.Drawing.Color.LightGray; 
      txtEmail.Enabled = false; 
      txtEmail.BackColor = System.Drawing.Color.LightGray; 

     } 
    } 

回答

3

你正在改变颜色,如果你禁用文本框浅灰色,但你并没有改变它回来时,你打开它:

txtEmail.Enabled = true; 
txtEmail.BackColor = System.Drawing.Color.White; 
+0

谢谢。有效。我也有基于用户选择的验证,他应该在受尊重的文本框中输入数据,因为我正在使用禁用功能,我无法找出一种方法。我正在使用requiredfieldvalidator。 – Valley

+0

林不知道如果我明白这个问题,但是,你也可以启用/禁用验证器。 –

+0

谢谢。我会尝试。 – Valley

相关问题