访问匿名类型集合中的属性 - C#

Mic*_*ern 4 c# linq asp.net anonymous-types drop-down-menu

在下面的源代码中,我从users集合中选择属性的子集,我需要将其绑定到下拉列表:

var locationDepts = (from u in users select new { u.RcNumber, u.RcName }).Distinct().ToList();

if(!locationDepts.Count.Equals(0))
{
    ddlRCListPerBuilding.DataSource = locationDepts;
    ddlRCListPerBuilding.DataValueField = "RcNumber";

    //Want to format display test "RCNumber - RcName"
    ddlRCListPerBuilding.DataTextField = string.Format("{0} - {1}", locationDepts.RcNumber, locationDepts.RcName);

    ddlRCListPerBuilding.DataBind();
}
Run Code Online (Sandbox Code Playgroud)

我想将列表项显示文本格式化为匿名类型RcNumber和RcName的组合.如何访问匿名类型的属性以指示下拉列表项的文本格式?

Mag*_*nus 6

您可以在数据源中创建一个名为"Combined"的新属性

var locationDepts = (from u in users 
                    select new 
                    { 
                        u.RcNumber, 
                        Combined = u.RcNumber + " - " + u.RcName
                    }).Distinct().ToList();

if(locationDepts.Count > 0)
{
    ddlRCListPerBuilding.DataSource = locationDepts;
    ddlRCListPerBuilding.DataValueField = "RcNumber";
    ddlRCListPerBuilding.DataTextField = "Combined";
    ddlRCListPerBuilding.DataBind();
}
Run Code Online (Sandbox Code Playgroud)