Web窗体上有两控件,DropDownList1,TextBox1,当DropDownList的值选择是YES的时候,TextBox1可编辑,当选择NO的时候,TextBox1的值为空,并且不能编辑,该如何实现
效果: 

.aspx:
复制代码 代码如下:
 
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
</head> 
<body> 
<form runat="server"> 
<asp:DropDownList runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> 
</asp:DropDownList> 
<asp:TextBox runat="server" Enabled="true"></asp:TextBox> 
</form> 
</body> 
</html> 
.aspx.cs:
复制代码 代码如下:
 
using System; 
using System.Collections.Generic; 
using System.Data; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
public partial class _Default : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
if (!IsPostBack) 
{ 
Data_Binding(); 
} 
} 
private void Data_Binding() 
{ 
this.DropDownListYesNo.DataSource = GetData().Select(yn => new { value = yn }).ToList(); 
this.DropDownListYesNo.DataTextField = "value"; 
this.DropDownListYesNo.DataBind(); 
} 
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
switch (this.DropDownListYesNo.SelectedItem.Text) 
{ 
case "YES": 
this.TextBox1.Enabled = true; 
break; 
case "NO": 
this.TextBox1.Enabled = false; 
this.TextBox1.Text = string.Empty; 
break; 
} 
} 
private List<string> GetData() 
{ 
List<string> yn = new List<string>(); 
yn.Add("YES"); 
yn.Add("NO"); 
return yn; 
} 
} 
您可能感兴趣的文章:
