如何在 DropDownList 绑定到数据源控件时手动插入默认 ListItem
How to manually insert a default ListItem when DropDownList is bound to a datasource control
编辑员工时,类型是显示数据库值的 DDL。问题是有些员工没有类型。我为此例外。所以,我相信我只需要插入一个带有空值和默认文本的 ListItem。
我首先尝试添加一个 ListItem 并将 AppendDataBoundItems 设置为 true
<asp:ListItem Text ="" Value ="" />
但是没有用。
我已经在页面加载事件处理程序中尝试过,但没有成功。
drpList.Items.Insert(0, new ListItem(String.Empty, String.Empty));
我正在使用 ObjectDataSource。它对为什么它不起作用有任何影响吗?
感谢您的帮助
您插入默认记录的代码应该可以工作,但不是在页面加载事件中执行,而是在 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));
}
编辑员工时,类型是显示数据库值的 DDL。问题是有些员工没有类型。我为此例外。所以,我相信我只需要插入一个带有空值和默认文本的 ListItem。
我首先尝试添加一个 ListItem 并将 AppendDataBoundItems 设置为 true
<asp:ListItem Text ="" Value ="" />
但是没有用。
我已经在页面加载事件处理程序中尝试过,但没有成功。
drpList.Items.Insert(0, new ListItem(String.Empty, String.Empty));
我正在使用 ObjectDataSource。它对为什么它不起作用有任何影响吗?
感谢您的帮助
您插入默认记录的代码应该可以工作,但不是在页面加载事件中执行,而是在 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));
}