在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> 另外,还可以使用下面的方法添加: protected void DropDownList1_DataBound(object sender, EventArgs e){DropDownList1.Items.Insert(0,new ListItem("--请选择--", ""));}