我的网页上有一个普通的asp.net组合框。当前版本是数据绑定一个数据表对象,但我想更改它,以便它数据绑定到一个集合,但我收到错误。
我尝试过使用ObjectDataSource,但是它们有我不需要的CRUD命令。
所以问题是......我怎样才能将asp.net combobx数据绑定到集合?我需要将其转换为列表(可能很耗时)还是有更好的方法?
答案 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视图中设置,所以我删除了它,一切都开始正常工作:)