作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我要绑定(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
}
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/
我是一名优秀的程序员,十分优秀!