在SelectList中设置自定义文本字段

Ste*_*ven 8 c# asp.net asp.net-mvc

我正在尝试在我的视图页面上显示具有自定义文本值的下拉列表.

我正在尝试显示联系人列表.联系人包含ContactID,FirstName和LastName.

<%= Html.DropDownListFor(m => m.ContactId, new SelectList(Model.Contacts, "ContactID", "LastName"), "- Select a Contact -") %>
Run Code Online (Sandbox Code Playgroud)

现在我只是显示姓氏,但我想在下拉列表中显示名字和姓氏.

小智 21

我一直在寻找相同的问题,你的问题是谷歌的第一个结果.我知道你问过一年前,但是对于所有其他人都会找到这个页面:

    Html.DropDownListFor(m => m.ContactId, 
        new SelectList(
            Model.Contacts.Select(
            c => new 
            { 
                Id = c.ContactId, 
                FullName = c.FirstName + " " + c.LastName 
            }), 
            "Id", 
            "FullName"))
Run Code Online (Sandbox Code Playgroud)

在我的情况下,我无法更改"联系"类.


Luk*_*Led 6

更改您的联系人类,添加属性:

public class Contact {
    public string FirstNameLastName { get { return FirstName + " " + LastName; } }
}
Run Code Online (Sandbox Code Playgroud)

然后使用它:

<%= Html.DropDownListFor(m => m.ContactId, new SelectList(Model.Contacts, "ContactID", "FirstNameLastName"), "- Select a Contact -") %>
Run Code Online (Sandbox Code Playgroud)