C# 在SelectList中设置自定义文本字段
我试图在我的视图页面上显示一个下拉列表,该下拉列表具有自定义文本值 我正在尝试显示联系人列表。联系人包含联系人ID、姓氏和姓氏C# 在SelectList中设置自定义文本字段,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我试图在我的视图页面上显示一个下拉列表,该下拉列表具有自定义文本值 我正在尝试显示联系人列表。联系人包含联系人ID、姓氏和姓氏 <%= Html.DropDownListFor(m => m.ContactId, new SelectList(Model.Contacts, "ContactID", "LastName"), "- Select a Contact -") %> m.ContactId,新建选择列表(Model.Contacts,“ContactId”,“La
<%= Html.DropDownListFor(m => m.ContactId, new SelectList(Model.Contacts, "ContactID", "LastName"), "- Select a Contact -") %>
m.ContactId,新建选择列表(Model.Contacts,“ContactId”,“LastName”),“-选择联系人-””%>
现在我只显示姓氏,但我想在下拉列表中显示名字和姓氏。更改联系人类别,添加属性:
public class Contact {
public string FirstNameLastName { get { return FirstName + " " + LastName; } }
}
然后使用它:
<%= Html.DropDownListFor(m => m.ContactId, new SelectList(Model.Contacts, "ContactID", "FirstNameLastName"), "- Select a Contact -") %>
m.ContactId,新建选择列表(Model.Contacts,“ContactId”,“FirstNameLastName”),“-选择一个联系人-”%”%>
我一直在寻找同样的答案,你的问题是谷歌的第一个结果。我知道你大约一年前问过,但是对于所有其他会找到此页面的人:
Html.DropDownListFor(m => m.ContactId,
new SelectList(
Model.Contacts.Select(
c => new
{
Id = c.ContactId,
FullName = c.FirstName + " " + c.LastName
}),
"Id",
"FullName"))
在我的情况下,我无法更改“Contact”类。+1我过去就是这样做的,它工作得很好。几乎相同的代码也像服务器端的boss一样工作。谢谢@sickbattery