将组合框数据绑定到集合

时间:2009-09-24 14:55:47

标签: asp.net data-binding collections combobox

我的网页上有一个普通的asp.net组合框。当前版本是数据绑定一个数据表对象,但我想更改它,以便它数据绑定到一个集合,但我收到错误。

我尝试过使用ObjectDataSource,但是它们有我不需要的CRUD命令。

所以问题是......我怎样才能将asp.net combobx数据绑定到集合?我需要将其转换为列表(可能很耗时)还是有更好的方法?

4 个答案:

答案 0 :(得分:2)

每个类型继承IEnumerable的对象都可以绑定到任何支持数据绑定的对象,所以只需执行

object.DataSource = collection;
object.DataBind();

它会正常工作。

答案 1 :(得分:1)

您始终可以将一个集合分配给组合框

的数据源属性

答案 2 :(得分:0)

使用ASP.NET组合框,您还需要设置DataValueField和DataTextField字段。

cboBox.DataSource = collection;
cboBox.DataTextField = "Name";
cboBox.DataValueField = "ID";
cboBox.DataBind();

这应该让您的数据显示您想要的方式。

答案 3 :(得分:0)

感谢您的回答。

我得到的错误是'controlname'的DataSourceID必须是IDataSource类型的控件的ID

我按照你的建议进行数据绑定

this.combobox.DataSource = userCollection;
this.combobox.DataTextField = "Name";
this.combobox.DataValueField = "UserId";
this.combobox.DataBind();

但我发现DataSourceID属性已在Designer视图中设置,所以我删除了它,一切都开始正常工作:)