为什么下拉列表没有显示我的空白项目?这就是我所拥有的
drpList.Items.Add(New ListItem("", ""))
With drpList
.DataSource = myController.GetList(userid)
.DataTextField = "Name"
.DataValueField = "ID"
.DataBind()
End With
编辑〜我绑定到Generig列表,这可能是罪魁祸首吗?
答案 0 :(得分:261)
在您的数据绑定之后:
drpList.Items.Insert(0, new ListItem(String.Empty, String.Empty));
drpList.SelectedIndex = 0;
答案 1 :(得分:28)
您可以使用AppendDataBoundItems=true
轻松添加:
<asp:DropDownList ID="drpList" AppendDataBoundItems="true" runat="server"><br/>
<asp:ListItem Text="" Value="" /><br/>
</asp:DropDownList>
答案 2 :(得分:24)
数据绑定在您添加空白列表项后发生,它取代了已存在的项,您需要将空白项添加到控制器列表的开头,或者在数据绑定后添加它。
编辑:
从ASP.Net 2.0开始快速搜索后,有一个“AppendDataBoundItems”真属性,你可以设置为...附加数据绑定项。
详见
答案 3 :(得分:13)
我认为更好的方法是首先插入空白项,然后像你一直那样绑定数据。但是,您需要设置列表控件的AppendDataBoundItems
属性。
我们使用以下方法将任何数据源绑定到任何列表控件...
public static void BindList(ListControl list, IEnumerable datasource, string valueName, string textName)
{
list.Items.Clear();
list.Items.Add("", "");
list.AppendDataBoundItems = true;
list.DataValueField = valueName;
list.DataTextField = textName;
list.DataSource = datasource;
list.DataBind();
}
答案 4 :(得分:6)
就像“Whisk”所说,诀窍在于“AppendDataBoundItems”属性
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DropDownList1.AppendDataBoundItems = true;
DropDownList1.Items.Insert(0, new ListItem(String.Empty, String.Empty));
DropDownList1.SelectedIndex = 0;
}
}
谢谢“Whisk”
答案 5 :(得分:5)
进行数据绑定,然后添加以下内容:
Dim liFirst As New ListItem("", "")
drpList.Items.Insert(0, liFirst)
答案 6 :(得分:3)
看起来你要添加一个空白项,然后是数据绑定,这会清空列表;尝试在数据绑定后插入空白项目
答案 7 :(得分:3)
简单
最后
ddlProducer.Items.Insert(0, "");
答案 8 :(得分:1)
ddlCategory.DataSource = ds;
ddlCategory.DataTextField = "CatName";
ddlCategory.DataValueField = "CatID";
Cách1:
ddlCategory.Items.Add(new ListItem("--please select--", "-1"));
ddlCategory.AppendDataBoundItems = true;
ddlCategory.SelectedIndex = -1;
ddlCategory.DataBind();
Cách2:
ddlCategory.Items.Insert(0, new ListItem("-- please select --", "0"));
(已经测试好)
答案 9 :(得分:0)
您还可以将空白选择与具有内容的选择结合:
select '' value, '' name
union
select value, name from mytable