首页 > 代码库 > ASP.NET中使用DropDownList实现无刷新二级联动详细过程

ASP.NET中使用DropDownList实现无刷新二级联动详细过程

 

Demo.sql

 1 create table Car( 2     [id] int identity, 3     [brand] varchar(50) not null, 4     [type] varchar(50) not null 5 ) 6 go 7  8 insert into Car ([brand],[type])values(BMW,B),(BMW,M),(BMW,W), 9     (BENZ,B),(BENZ,E),(BENZ,N),(BENZ,Z),10     (HONDA,H),(HONDA,O),(HONDA,N),(HONDA,D),(HONDA,A),11     (TOYOTA,T),(TOYOTA,O),(TOYOTA,Y),(TOYOTA,A)

 

Demo.aspx

 1         <asp:ScriptManager runat="server"> 2         </asp:ScriptManager> 3         <asp:UpdatePanel runat="server"> 4             <ContentTemplate> 5                 <asp:DropDownList ID="dropBrand" runat="server" OnSelectedIndexChanged="dropBrand_SelectedIndexChanged" 6                     Width="200" AutoPostBack="True"> 7                 </asp:DropDownList> 8                 <asp:DropDownList ID="dropType" runat="server" Width="200"> 9                 </asp:DropDownList>10             </ContentTemplate>11         </asp:UpdatePanel>

 

Demo.aspx.cs

 

 1         protected void Page_Load(object sender, EventArgs e) 2         { 3             if (!IsPostBack) 4             { 5                 BindDrop(); 6             } 7         } 8  9         private void BindDrop()10         {11             //将数据捆绑到下拉列表中12             string sqlStr = "select distinct [brand] from Car";13             DataTable dt = SqlHelper.ExecuteDataTable(sqlStr);14             dropBrand.DataTextField = "brand"; //设置列表显示的字15             dropBrand.DataValueField = "brand"; //设置列表提交后获得的字段,自己理解为隐藏绑定数据16             dropBrand.DataSource = dt;17             dropBrand.DataBind();18             dropBrand.Items.Insert(0, new ListItem("请选择车子品牌", ""));//第一项中加入内容,重点是绑定后添加19             dropType.Items.Insert(0, new ListItem("请选择车子品牌型号", ""));//第一项中加入内容,重点是绑定后添加      20         }21 22         protected void dropBrand_SelectedIndexChanged(object sender, EventArgs e)23         {24             string sqlStr = "select * from Car where [brand]=‘" + dropBrand.SelectedValue + "";//页面加载后dropBrand.DataValueField隐藏绑定的数据,后边根据它查询dropType要显现的数据25             DataTable dt = SqlHelper.ExecuteDataTable(sqlStr);26             dropType.DataTextField = "type"; //设置dropBrand事件SelectedIndexChanged改变后dropType列表显示的数据27             dropType.DataValueField = "id";28             dropType.DataSource = dt;29             dropType.DataBind();30         }

 

 参考原文:http://www.cnblogs.com/cqchai/archive/2011/05/28/2061378.html

ASP.NET中使用DropDownList实现无刷新二级联动详细过程