当DropDownList绑定到数据源控件时,如何手动插入默认ListItem

时间:2016-02-24 23:31:04

标签: c# asp.net objectdatasource

编辑Employee时,Type是一个显示数据库中值的DDL。问题是有些员工没有类型。我为此获得了例外。所以,我认为我只需要插入一个带有空值和默认文本的ListItem。

我首先尝试添加ListItem并将 AppendDataBoundItems 设置为 true

<asp:ListItem Text ="" Value ="" />   

但它没有用。

我在页面加载事件处理程序中尝试了这个,但没有运气。

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

我使用的是ObjectDataSource。它对它不起作用的原因有影响吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您插入默认记录的代码应该有效,但不是在页面加载事件中执行,而是在ondatabound中执行。这应该会得到理想的结果

<asp:DropDownList runat="server" ID="drpList"
  ondatabound="drpListDataBound"></asp:DropDownList>

protected void drpListDataBound(object sender, EventArgs e)
{
    drpList.Items.Insert(0, new ListItem(String.Empty, String.Empty));
}