如何从对象绑定DropDownlist DataText或DataValue字段.当有问题的对象处于第二级时,例如要绑定的对象不在返回的对象Users.ContactDetails.Telephone的第一级中,因为下面的代码不起作用:
ddl.DataSource = dal.dal_Users.GetAllUsers(); ddl.DataTextField = "Telephone";
我已经尝试了一系列的想法,但似乎无法找到有关是否可以这样做的任何信息.
如果您使用的是C#3,则可以使用ConvertAll<>
etension方法创建一个新的匿名类型,将内部属性移动到顶层.
尝试这样的事情:
IEnumerableusers = dal.dal_Users.GetAllUsers(); ddl.DataSource = users.ConvertAll(u => new { Value = u.Name, Telephone = u.ContactDetails.Telephone }); ddl.DataTextField = "Telephone";