C# 如何将类数组的数据对象添加到下拉列表中?
我有一个Person类型的数组C# 如何将类数组的数据对象添加到下拉列表中?,c#,asp.net,data-binding,C#,Asp.net,Data Binding,我有一个Person类型的数组 Person[] Traders = GetTraders(); Person类包含诸如名字、姓氏等数据对象 我想将所有名字添加到dropdownlist。我该怎么做?我试着这样做,但没有名字: ddl_traders.DataSource = traders; 编辑 Person具有以下字符串字段:FirstName、LastName、login 我希望dropdownlist显示FirstName,但该值必须是登录名。我相当肯定这是可能的,尽管我不知道如何
Person[] Traders = GetTraders();
Person类包含诸如名字、姓氏等数据对象
我想将所有名字添加到dropdownlist。我该怎么做?我试着这样做,但没有名字:
ddl_traders.DataSource = traders;
编辑
Person具有以下字符串字段:FirstName、LastName、login
我希望dropdownlist显示FirstName,但该值必须是登录名。我相当肯定这是可能的,尽管我不知道如何才能做到。有什么建议吗?单向:
ddl_traders.DataSource = GetTraders().OfType<Person>().Select<Person, string>(p => p.FirstName).ToList<string>();
ddl_traders.DataSource=GetTraders().OfType().Select(p=>p.FirstName.ToList();
这取决于是否有名为FirstName的字符串字段。这可能不是最好的方法,但您可以指定要显示的字段,如下所示:
ddl_traders.DateSource = traders;
ddl_traders.DataTextField = "FirstName";
ddl_traders.DateValueField= "login";
ddl_traders.DataBind();
这允许您绑定完整的Person对象,但只显示名称,并保留登录名作为值。Person有一个名为FirstName的字符串字段。我要试一试。PS-我对这个问题做了编辑。你知道怎么做吗?我试过你的解决办法。获取此错误:错误1“System.Array”不包含“Select”的定义,并且找不到接受“System.Array”类型的第一个参数的扩展方法“Select”(是否缺少using指令或程序集引用?)@xbonez关于您的编辑,@pattertj基本上是正确的。您可以将DataTextField和DataValueField指定为字符串,并且您的数据源可能只获得getRaders()。然后,您将调用DataBind(),就像我之前展示的方法一样。我正在尝试您的解决方案,但遇到了一个愚蠢的“卷影复制”错误。一旦我解决了这个问题,我就试试你的解决方案。谢谢你。