2008-10-30 81 views
1

我使用db实体绑定下拉列表。.NET中的数据绑定DropDown控件

ddlCustomer.DataSource = Customer.GetAll(); 
ddlCustomer.DataTextField = "CustomerName"; 
ddlCustomer.DataBind(); 

我想添加“选择”作为下拉列表中的第一个项目列表,然后将实体绑定到下拉列表中。我怎样才能做到这一点?

回答

4

添加:

ddlCustomer.Items.Insert(0, "SELECT"); 

后ddlCustomer.DataBind();

该项必须在数据绑定后插入,因为数据绑定会清除项目。

+0

您还可以将DropDownList的'AppendDataBoundItems'属性设置为'True'。 “获取或设置一个值,该值指示列表项是否在数据绑定之前清除。”从http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.appenddatabounditems.aspx。 – Dhaust 2008-10-30 22:41:15

0

我不知道是否有一种解决方案,但我之前做的是不使用DataBind,并首先创建将具有“选择”作为文本的ListItem对象,然后遍历从Customer.GetAll()返回的集合,并为集合中的每个项目创建一个ListItem对象,并使用“DropDownList.Iems.Add(MyItem)”将其添加到下拉列表中,我知道它看起来不太棒,但它完成这项工作,毕竟这是DataBind在后面做的事情。

0

我知道有一个答案了,但你也可以这样做:

<asp:DropDownList AppendDataBoundItems="true" ID="ddlCustomer" runat="server"> 
    <asp:ListItem Value="0" Text="Select"/> 
</asp:DropDownList> 

这样的话,你会不会担心当你调用数据绑定,当你添加的选择项。