2011-02-13 28 views
7

我試圖在具有自定義文本值的視圖頁上顯示下拉列表。在SelectList中設置自定義文本字段

我試圖顯示一個聯繫人列表。聯繫人包含聯繫人ID,名字和姓氏。

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

現在我只是顯示姓氏,但我想在下拉列表中顯示名字和姓氏。

回答

6

更改您的聯繫類,添加屬性:

public class Contact { 
    public string FirstNameLastName { get { return FirstName + " " + LastName; } } 
} 

然後使用它:

<%= Html.DropDownListFor(m => m.ContactId, new SelectList(Model.Contacts, "ContactID", "FirstNameLastName"), "- Select a Contact -") %> 
+0

簡單快捷的方法..它完美:) – 2016-09-08 20:39:12

18

我一直在尋找同樣的,你的問題是在谷歌的第一個結果。我知道你問大約一年前,但所有其他人會發現此頁面:

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

在我的情況下,我不能更改「聯繫」類。

+1

+1這是我過去做過的,它很好地工作。 – 2012-01-18 16:12:35