gpt4 book ai didi

asp.net - 如何将 ASP.NET 下拉列表 DataTextField 属性绑定(bind)到嵌套属性

转载 作者:行者123 更新时间:2023-12-04 22:36:26 25 4
gpt4 key购买 nike

我要绑定(bind)DataTextField ASP.NET 下拉控件的属性到作为初始数据源属性的对象的属性。我将如何完成该特定任务。

下拉数据源数据架构

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";

最佳答案

假设您有一个 A 列表,并且希望 A.ID 是 ID 字段,并且 A.B.Name 是 Name 字段,您不能直接绑定(bind)到 B.Name,因此您必须在 A 上创建一个新属性才能拉取A 的 B 属性中的名称,或者您可以使用 Linq 创建一个匿名类型,为您执行此操作:

List<A> ListA = new List<A>{
new A{ID="1",Item = new B{Name="Val1"}},
new A{ID="2", Item = new B{Name="Val2"}} ,
new A{ID="3", Item = new B{Name="Val3"}}};

DropDownList1.DataTextField = "Name";
DropDownList1.DataValueField = "ID";
DropDownList1.DataSource = from a in ListA
select new { ID, Name = a.Item.Name };

关于asp.net - 如何将 ASP.NET 下拉列表 DataTextField 属性绑定(bind)到嵌套属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5721186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com