在ASP.NET 2.0中,可以在数据绑定时,通过设置DropDownList的AppendDataBoundItems属性为true,在数据绑定之前添加一个新的项目,并且这个新加的项目会保存在ViewState之中。下面就是一个实现的例子:C#代码 <% ... @ Page Language="C#" %> <% ... @ Import Namespace="System.Data" %> <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > < script runat ="server" > ... ICollection CreateDataSource() ...{ DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add(new DataColumn("id", typeof(Int32))); dt.Columns.Add(new DataColumn("text", typeof(string))); for (int i = 0; i < 6; i++) ...{ dr = dt.NewRow(); dr[0] = i; dr[1] = "列表项目 " + i.ToString(); dt.Rows.Add(dr); } DataView dv = new DataView(dt); return dv; } protected void Button1_Click(object sender, EventArgs e) ...{ Response.Write("<li>DropDownList1 您选择的项目:" + DropDownList1.SelectedValue + " ; " + DropDownList1.SelectedItem.Text); Response.Write("<li>DropDownList2 您选择的项目:" + DropDownList2.SelectedValue + " ; " + DropDownList2.SelectedItem.Text); } protected void Page_Load(object sender, EventArgs e) ...{ if (!IsPostBack) ...{ DropDownList1.AppendDataBoundItems = true; DropDownList1.Items.Add(new ListItem("-- 请选择一个选择项 --", "")); DropDownList2.DataSource = DropDownList1.DataSource = CreateDataSource(); DropDownList2.DataTextField = DropDownList1.DataTextField = "text"; DropDownList2.DataValueField = DropDownList1.DataValueField = "id"; DropDownList1.DataBind(); DropDownList2.DataBind(); } } </ script > < html xmlns ="http://www.w3.org/1999/xhtml" > < head runat ="server" > < title > DropDownList 补充例子 </ title > </ head > < body > < form id ="form1" runat ="server" > < asp:DropDownList ID ="DropDownList1" runat ="server" > </ asp:DropDownList > < asp:DropDownList ID ="DropDownList2" runat ="server" AppendDataBoundItems ="true" > < asp:ListItem Text ="请选择" Value ="" ></ asp:ListItem > </ asp:DropDownList > < asp:Button ID ="Button1" runat ="server" Text ="得到选择的值" OnClick ="Button1_Click" /> </ form > </ body > </ html > VB.NET代码 <% ... @ Page Language="VB" AutoEventWireup="true" %> <% ... @ Import Namespace="System.Data" %> <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > < script runat ="server" > ... Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Response.Write("<li>DropDownList1 您选择的项目:" + DropDownList1.SelectedValue + _ " ; " + DropDownList1.SelectedItem.Text) Response.Write("<li>DropDownList2 您选择的项目:" + DropDownList2.SelectedValue + _ " ; " + DropDownList2.SelectedItem.Text) End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) If Not IsPostBack Then DropDownList1.AppendDataBoundItems = True DropDownList1.Items.Add(New ListItem("-- 请选择一个选择项 --", "")) DropDownList2.DataSource = CreateDataSource() DropDownList1.DataSource = CreateDataSource() DropDownList2.DataTextField = "text" DropDownList1.DataTextField = "text" DropDownList2.DataValueField = "id" DropDownList1.DataValueField = "id" DropDownList1.DataBind() DropDownList2.DataBind() End If End Sub Function CreateDataSource() As ICollection Dim dt As DataTable = New DataTable() Dim dr As DataRow dt.Columns.Add(New DataColumn("id", GetType(System.Int32))) dt.Columns.Add(New DataColumn("text", GetType(String))) For i As Integer = 0 To 6 dr = dt.NewRow() dr(0) = i dr(1) = "列表项目 " + i.ToString() dt.Rows.Add(dr) Next Dim dv As DataView = New DataView(dt) Return dv End Function </ script > < html xmlns ="http://www.w3.org/1999/xhtml" > < head id ="Head1" runat ="server" > < title > DropDownList 补充例子 </ title > </ head > < body > < form id ="form1" runat ="server" > < asp:DropDownList ID ="DropDownList1" runat ="server" > </ asp:DropDownList > < asp:DropDownList ID ="DropDownList2" runat ="server" AppendDataBoundItems ="true" > < asp:ListItem Text ="请选择" Value ="" ></ asp:ListItem > </ asp:DropDownList > < asp:Button ID ="Button1" runat ="server" Text ="得到选择的值" OnClick ="Button1_Click" /> </ form > </ body > </ html >