Web窗体上有两控件,DropDownList1,TextBox1,当DropDownList的值选择是YES的时候,TextBox1可编辑,当选择NO的时候,TextBox1的值为空,并且不能编辑,该如何实现?
效果:
.aspx:
View Code
<%
@ 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 id ="form1" runat ="server" >
< asp:DropDownList ID ="DropDownListYesNo" runat ="server" AutoPostBack ="true" OnSelectedIndexChanged ="DropDownList1_SelectedIndexChanged" >
</ asp:DropDownList >
< asp:TextBox ID ="TextBox1" runat ="server" Enabled ="true" ></ asp:TextBox >
</ form >
</ body >
</ html >
<! DOCTYPE html >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title ></ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< asp:DropDownList ID ="DropDownListYesNo" runat ="server" AutoPostBack ="true" OnSelectedIndexChanged ="DropDownList1_SelectedIndexChanged" >
</ asp:DropDownList >
< asp:TextBox ID ="TextBox1" runat ="server" Enabled ="true" ></ asp:TextBox >
</ form >
</ body >
</ html >
.aspx.cs:
View Code
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;
}
}
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;
}
}