【问题标题】:Add an item to a drop down list which is bound dynamically将项目添加到动态绑定的下拉列表中
【发布时间】:2014-12-21 19:30:42
【问题描述】:

我将我的下拉列表动态绑定到数据源,如下所示:

DDLRecordStatus.DataSource = BLREOptions.getRecordStatusList();
DDLRecordStatus.DataTextField = "OptionName";
DDLRecordStatus.DataValueField = "OptionValue";
DDLRecordStatus.DataBind();

但是,数据源不包含 null 或空选项,我需要在作为首选出现的下拉列表中添加一个项目名称“”(空白)和值为 -1,这可能吗?

【问题讨论】:

  • 你可以在DataBind调用后调用DDLRecordStatus.Items.Insert

标签: c# asp.net


【解决方案1】:

当然可以,你只需要在数据绑定完成后手动插入即可:

DDLRecordStatus.DataBind();
DDLRecordStatus.Items.Insert(0, new ListItem(" ", "-1"));

您也可以直接在标记中指定它:

<asp:DropDownList ID="DDLRecordStatus"
     ...
     AppendDataBoundItems="True">
    <asp:ListItem Text=" " Value="-1" />
</asp:DropDownList>

注意AppendDataBoundItems 属性,它确保默认列表项不会被删除。

【讨论】:

  • 谢谢你,这很好用,上面的代码只有一个编辑:DDLRecordStatus.Items.Insert(0, new ListItem(" ", "-1")); (缺少“项目”)
【解决方案2】:

在绑定到控件之前将记录插入到列表中。我假设这个类被称为Status

var statusList = BLREOptions.getRecordStatusList();
statusList.Insert(0, new Status { OptionName = "", OptionValue = -1 });

DDLRecordStatus.DataSource = statusList;

【讨论】:

    猜你喜欢
    • 2010-10-31
    • 2010-11-09
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    • 2021-09-14
    • 2016-08-17
    • 1970-01-01
    相关资源
    最近更新 更多