【发布时间】:2011-04-19 18:51:44
【问题描述】:
我想将 ASP.NET 下拉控件的 DataTextField 属性绑定到作为初始数据源属性的对象的属性。我将如何完成该特定任务。
下拉数据源数据架构
public class A
{
public string ID { get; set; }
public B { get; set; }
}
public class B
{
public string Name { get; set; } //want to bind the DataTextField to this property
}
ASP.NET 背后的代码
DropDownList MyDropDownList = new DropDownList();
List<A> MyList = GetList();
MyDropDownList.DataSource = MyList;
MyDropDownList.DataValueField = "ID";
【问题讨论】:
-
如果列表中有超过1个B,应该使用哪个B来获取Name属性?
-
@300 波特 - 我已经用正确的场景更新了问题。
-
@Michael - 在您的场景中,您直接绑定 B 列表,而 A(包含您要绑定的 ID)无处可见。
-
@300 Baud - 我修复了源代码中的错误
-
@Michael - 例如,如果
GetList返回一个包含 5 个 A 的列表,而这 5 个 A 中的每一个都包含一个包含 5 个 B 的列表,那么您是否希望 DropDownList 有 5 个项目(1 个每个 A)或 25 个项目(每个 A 中的每个 B 1 个)?
标签: asp.net binding drop-down-menu datatextfield