当前位置:  开发笔记 > 后端 > 正文

Asp.net - 在下拉列表顶部添加空白项目

如何解决《Asp.net-在下拉列表顶部添加空白项目》经验,为你挑选了6个好方法。

为什么下拉列表没有显示我的空白项目?这就是我所拥有的

drpList.Items.Add(New ListItem("", ""))

With drpList
    .DataSource = myController.GetList(userid)
    .DataTextField = "Name"
    .DataValueField = "ID"
    .DataBind()
End With

编辑〜我绑定到Generig列表,这可能是罪魁祸首吗?



1> JasonS..:

在您的数据绑定之后:

drpList.Items.Insert(0, new ListItem(String.Empty, String.Empty));
drpList.SelectedIndex = 0;


*这可能有助于那些寻找答案的人使用sqlDataSource数据*在我的情况下,我还必须添加drpList.AppendDataBoundItems = true; 将它绑定到Page_Load方法中的当前数据

2> 小智..:

您可以使用AppendDataBoundItems=true轻松添加:




别忘了设置Selected ="true"

3> Whisk..:

数据绑定在添加空白列表项后发生,它取代了已存在的项,您需要将空白项添加到控制器列表的开头,或者在数据绑定后添加.

编辑:

从ASP.Net 2.0开始谷歌搜索后,有一个"AppendDataBoundItems"真属性,你可以设置为...附加数据绑定项.

详情见

http://imar.spaanjaars.com/QuickDocId.aspx?quickdoc=281或

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.appenddatabounditems.aspx


有人认为你需要注意的是,每次回发后你的下拉列表会一遍又一遍地追加相同的数据.

4> Andy McClugg..:

我认为更好的方法是先插入空白项,然后像你一直那样绑定数据.但是,您需要设置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();
}



5> 小智..:

就像"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;
    }
}

谢谢"打蛋"



6> Dillie-O..:

进行数据绑定,然后添加以下内容:

Dim liFirst As New ListItem("", "")
drpList.Items.Insert(0, liFirst)

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有