很多方法可以为为下拉式菜单(DropDownList)添加第一个选项,下面是Insus.NET小结了几个方法,仅供参考:
Html code:
![](https://i-blog.csdnimg.cn/blog_migrate/81178cc93a2a3bb5048d90d76e7ec935.gif)
<
body
>
< form id ="form1" runat ="server" >
< div >
< asp:DropDownList ID ="DropDownList1" runat ="server" >
</ asp:DropDownList >
</ div >
</ form >
</ body >
< form id ="form1" runat ="server" >
< div >
< asp:DropDownList ID ="DropDownList1" runat ="server" >
</ asp:DropDownList >
</ div >
</ form >
</ body >
数据源与绑定:
![](https://i-blog.csdnimg.cn/blog_migrate/81178cc93a2a3bb5048d90d76e7ec935.gif)
protected
void Page_Load(
object sender, EventArgs e)
{
if (!IsPostBack)
{
Data_Binding();
}
}
private void Data_Binding()
{
this.DropDownList1.DataSource = Site();
this.DropDownList1.DataTextField = " key ";
this.DropDownList1.DataValueField = " value ";
this.DropDownList1.DataBind();
}
private Dictionary< string, string> Site()
{
Dictionary< string, string> site = new Dictionary< string, string>();
site.Add( " Insus.NET cnblogs ", " http://insus.cnblogs.com ");
site.Add( " Microsoft ", " http://www.microsoft.com ");
site.Add( " Google ", " http://www.google.com ");
return site;
}
{
if (!IsPostBack)
{
Data_Binding();
}
}
private void Data_Binding()
{
this.DropDownList1.DataSource = Site();
this.DropDownList1.DataTextField = " key ";
this.DropDownList1.DataValueField = " value ";
this.DropDownList1.DataBind();
}
private Dictionary< string, string> Site()
{
Dictionary< string, string> site = new Dictionary< string, string>();
site.Add( " Insus.NET cnblogs ", " http://insus.cnblogs.com ");
site.Add( " Microsoft ", " http://www.microsoft.com ");
site.Add( " Google ", " http://www.google.com ");
return site;
}
以下所有方法,均以以上html或code作变动。
第一种,修改Html Code,把DropDownList属性AppendDataBoundItems的值设为true,然后直接添加一个item:<asp:ListItem Text="--选择--" Value=""></asp:ListItem> 在DropDownList内。
![](https://i-blog.csdnimg.cn/blog_migrate/81178cc93a2a3bb5048d90d76e7ec935.gif)
<
asp:DropDownList
ID
="DropDownList1"
runat
="server"
AppendDataBoundItems
="true"
>
< asp:ListItem Text ="--选择--" Value ="" ></ asp:ListItem >
</ asp:DropDownList >
< asp:ListItem Text ="--选择--" Value ="" ></ asp:ListItem >
</ asp:DropDownList >
第二种方法,Html Code无需更改,
![](https://i-blog.csdnimg.cn/blog_migrate/81178cc93a2a3bb5048d90d76e7ec935.gif)
<
asp:DropDownList
ID
="DropDownList1"
runat
="server"
>
</ asp:DropDownList >
</ asp:DropDownList >
修改Data_Binding()方法,如下:
![](https://i-blog.csdnimg.cn/blog_migrate/81178cc93a2a3bb5048d90d76e7ec935.gif)
private
void Data_Binding()
{
this.DropDownList1.DataSource = Site();
this.DropDownList1.DataTextField = " key ";
this.DropDownList1.DataValueField = " value ";
this.DropDownList1.DataBind();
// 添加下面代码:
DropDownList1.Items.Insert( 0, new ListItem( " --选择-- ", ""));
}
{
this.DropDownList1.DataSource = Site();
this.DropDownList1.DataTextField = " key ";
this.DropDownList1.DataValueField = " value ";
this.DropDownList1.DataBind();
// 添加下面代码:
DropDownList1.Items.Insert( 0, new ListItem( " --选择-- ", ""));
}
第三种方法:
Html改为如下,设置AppendDataBoundItems属性与及实现OnDataBound事件:
![](https://i-blog.csdnimg.cn/blog_migrate/81178cc93a2a3bb5048d90d76e7ec935.gif)
<
asp:DropDownList
ID
="DropDownList1"
runat
="server"
AppendDataBoundItems
="true"
OnDataBound
="DropDownList1_DataBound"
>
</ asp:DropDownList >
</ asp:DropDownList >
cs code:
![](https://i-blog.csdnimg.cn/blog_migrate/81178cc93a2a3bb5048d90d76e7ec935.gif)
protected
void DropDownList1_DataBound(
object sender, EventArgs e)
{
DropDownList ddl = (DropDownList)sender;
ddl.Items.Insert( 0, new ListItem( " --选择-- ", " 0 "));
}
{
DropDownList ddl = (DropDownList)sender;
ddl.Items.Insert( 0, new ListItem( " --选择-- ", " 0 "));
}