Asp.net mvc 如何在ASP.NetDropDownList SelectList dataTextField中显示两个字符串?

Asp.net mvc 如何在ASP.NetDropDownList SelectList dataTextField中显示两个字符串?,asp.net-mvc,drop-down-menu,selectlist,Asp.net Mvc,Drop Down Menu,Selectlist,这是我在ASP.Net中的下拉列表: <%: Html.DropDownListFor(x => x.CompanyUserFilterId, new SelectList(Model.CompanyUsers, "Id", "FirstName", Model.CompanyUserFilterId)) %> x.CompanyUserFilterId,新选择列表(Model.CompanyUsers,“Id”,“FirstName”,Model.CompanyUserFi

这是我在ASP.Net中的下拉列表:

<%: Html.DropDownListFor(x => x.CompanyUserFilterId, new SelectList(Model.CompanyUsers, "Id", "FirstName", Model.CompanyUserFilterId)) %>
x.CompanyUserFilterId,新选择列表(Model.CompanyUsers,“Id”,“FirstName”,Model.CompanyUserFilterId))%>

我想在DropDownList中列出所有公司用户,并显示他们的FirstName和LastName属性。CompanyUsers是一个IEnumerable属性。上面的代码可以工作,并且只显示FirstName属性。是否可以同时显示这两个字段?

您需要提供包含连接字段的数据投影,而不是将完整的客户数据作为模型传递

您尚未提供控制器实现,但可能希望执行以下操作:

var data = from c in DataContext select new CustomerData() { Id = c.Id, Name = c.FirstName + " " + c.LastName };

return View(data);
。。其中CustomerData是一个简单的POCO,上面有Id和Name属性。然后将视图更改为使用IEnumerable,将下拉列表代码更改为使用投影模型中的“Name”属性,而不是原来的FirstName属性


希望您可以调整它以适合您自己的特定场景

> P>我补充说,MVCCONTIB的下拉列表是SOO SUO SOO,比默认的要好很多,如果可能的话,我会考虑使用该库。