演示的主要有三个:
1,数据源是使用数组列表的数据,而且当选择改变时候,也会激发一个事件!
2,两级联动
3,动态添加下拉列表的项
其实在之前我也做过一个VB的实例,那个是用VS2003做的,如果你要看具体怎么从数据库拿出数据来填充的话请参考那个,地址是http://thcjp.cnblogs.com/archive/2006/03/03/342389.html
<%
@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"
%>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > 无标题页 </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
DropDownList 控件演示一: < br />
< br />
数据源是使用数组列表的数据,而且当选择改变时候,也会激发一个事件! < br />
< asp:DropDownList ID ="DropDownList1" runat ="server" AutoPostBack ="True" OnSelectedIndexChanged ="DropDownList1_SelectedIndexChanged" >
</ asp:DropDownList >
< asp:Label ID ="Label1" runat ="server" ></ asp:Label >< br />
< br />
DropDownList 控件演示二:两级联动 < br />
< br />
这个我们使用的是SQLSERVER数据库中自带的pubs库的authors表,实现的效果就是两个下拉列表是相关联的(这里使用了数据控件的 SqlDataSource控件,该控件将在后面的数据控件中再详细说明和演示); < br />
请选择城市 : < asp:DropDownList ID ="DropDownList2" runat ="server" AutoPostBack ="True" DataSourceID ="SqlDataSource1"
DataTextField ="city" DataValueField ="au_id" >
</ asp:DropDownList >
< asp:DropDownList ID ="DropDownList3" runat ="server" AutoPostBack ="True" DataSourceID ="SqlDataSource2"
DataTextField ="au_lname" DataValueField ="au_lname" >
</ asp:DropDownList >< asp:SqlDataSource ID ="SqlDataSource2" runat ="server" ConnectionString ="<%$ ConnectionStrings:pubsConnectionString %>"
SelectCommand ="SELECT [au_lname], [au_id] FROM [authors] WHERE ([au_id] = @au_id)" >
< SelectParameters >
< asp:ControlParameter ControlID ="DropDownList2" Name ="au_id" PropertyName ="SelectedValue"
Type ="String" />
</ SelectParameters >
</ asp:SqlDataSource >
< asp:SqlDataSource ID ="SqlDataSource1" runat ="server" ConnectionString ="<%$ ConnectionStrings:pubsConnectionString %>"
SelectCommand ="SELECT [au_id], [city] FROM [authors]" ></ asp:SqlDataSource >
< br />
DropDownList 控件演示三:动态添加下拉列表的项 < br />
< br />
< asp:DropDownList ID ="DropDownList4" runat ="server" >
</ asp:DropDownList >
< asp:TextBox ID ="TextBox1" runat ="server" ></ asp:TextBox >
< asp:Button ID ="Button1" runat ="server" OnClick ="Button1_Click" Text ="在前面文本框里填上你要添加的文本,然后按我一下,再看下前面下拉列表里的值"
Width ="519px" />< br />
</ div >
</ form >
</ body >
</ html >
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > 无标题页 </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
DropDownList 控件演示一: < br />
< br />
数据源是使用数组列表的数据,而且当选择改变时候,也会激发一个事件! < br />
< asp:DropDownList ID ="DropDownList1" runat ="server" AutoPostBack ="True" OnSelectedIndexChanged ="DropDownList1_SelectedIndexChanged" >
</ asp:DropDownList >
< asp:Label ID ="Label1" runat ="server" ></ asp:Label >< br />
< br />
DropDownList 控件演示二:两级联动 < br />
< br />
这个我们使用的是SQLSERVER数据库中自带的pubs库的authors表,实现的效果就是两个下拉列表是相关联的(这里使用了数据控件的 SqlDataSource控件,该控件将在后面的数据控件中再详细说明和演示); < br />
请选择城市 : < asp:DropDownList ID ="DropDownList2" runat ="server" AutoPostBack ="True" DataSourceID ="SqlDataSource1"
DataTextField ="city" DataValueField ="au_id" >
</ asp:DropDownList >
< asp:DropDownList ID ="DropDownList3" runat ="server" AutoPostBack ="True" DataSourceID ="SqlDataSource2"
DataTextField ="au_lname" DataValueField ="au_lname" >
</ asp:DropDownList >< asp:SqlDataSource ID ="SqlDataSource2" runat ="server" ConnectionString ="<%$ ConnectionStrings:pubsConnectionString %>"
SelectCommand ="SELECT [au_lname], [au_id] FROM [authors] WHERE ([au_id] = @au_id)" >
< SelectParameters >
< asp:ControlParameter ControlID ="DropDownList2" Name ="au_id" PropertyName ="SelectedValue"
Type ="String" />
</ SelectParameters >
</ asp:SqlDataSource >
< asp:SqlDataSource ID ="SqlDataSource1" runat ="server" ConnectionString ="<%$ ConnectionStrings:pubsConnectionString %>"
SelectCommand ="SELECT [au_id], [city] FROM [authors]" ></ asp:SqlDataSource >
< br />
DropDownList 控件演示三:动态添加下拉列表的项 < br />
< br />
< asp:DropDownList ID ="DropDownList4" runat ="server" >
</ asp:DropDownList >
< asp:TextBox ID ="TextBox1" runat ="server" ></ asp:TextBox >
< asp:Button ID ="Button1" runat ="server" OnClick ="Button1_Click" Text ="在前面文本框里填上你要添加的文本,然后按我一下,再看下前面下拉列表里的值"
Width ="519px" />< br />
</ div >
</ form >
</ body >
</ html >
后台C#代码
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
//因为要使用ArrayList,所以得引入Collections命名空间,VB就不用了,具体我还不知道为什么
using System.Collections;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)//这个还是很重要的,判断页面是否是首次加载
{
ArrayList arrl = new ArrayList();//初始化一个ArrayList实例
arrl.Add("请选择");
arrl.Add("田洪川");
arrl.Add("黄小梅");//为数组列表添加项
arrl.Add("田皓文");
DropDownList1.DataSource = arrl;//指明下拉列表的数据源为上面的数组列表
DropDownList1.DataBind();//地球人都知道啦,肯定还是要绑定的了
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (DropDownList1.SelectedValue)//用下拉列表的值来判断并激发一个事件
{
case "田洪川":
Label1.Text = "洪川医药的BOSS啦";
break;
case "黄小梅":
Label1.Text = "田洪川的老婆啦";
break;
case "田皓文":
Label1.Text = "田洪川的儿子啦";
break;
default:
Label1.Text = "在前面选择撒";
break;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string aa = TextBox1.Text.ToString();//得到文本框里面的值
DropDownList4.Items.Add(aa);//添加到下拉列表中去
}
}
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
//因为要使用ArrayList,所以得引入Collections命名空间,VB就不用了,具体我还不知道为什么
using System.Collections;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)//这个还是很重要的,判断页面是否是首次加载
{
ArrayList arrl = new ArrayList();//初始化一个ArrayList实例
arrl.Add("请选择");
arrl.Add("田洪川");
arrl.Add("黄小梅");//为数组列表添加项
arrl.Add("田皓文");
DropDownList1.DataSource = arrl;//指明下拉列表的数据源为上面的数组列表
DropDownList1.DataBind();//地球人都知道啦,肯定还是要绑定的了
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (DropDownList1.SelectedValue)//用下拉列表的值来判断并激发一个事件
{
case "田洪川":
Label1.Text = "洪川医药的BOSS啦";
break;
case "黄小梅":
Label1.Text = "田洪川的老婆啦";
break;
case "田皓文":
Label1.Text = "田洪川的儿子啦";
break;
default:
Label1.Text = "在前面选择撒";
break;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string aa = TextBox1.Text.ToString();//得到文本框里面的值
DropDownList4.Items.Add(aa);//添加到下拉列表中去
}
}