将项添加到动态绑定的下拉列表中

时间:2014-12-21 19:30:43

标签: c# asp.net

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

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

但是,数据源不包含null或empty选项,我需要添加一个名称" "(空白)和值-1作为第一选择的下拉列表,这可能吗?

2 个答案:

答案 0 :(得分:3)

当然这是可能的,您只需要在完成数据绑定后手动插入它:

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

或者,您可以直接在标记中指定它:

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

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

答案 1 :(得分:1)

在绑定到控件之前将记录插入列表。我假设这个班叫Status

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

DDLRecordStatus.DataSource = statusList;