2011-02-13 20 views
7

Görünüm sayfamda özel bir metin değerine sahip bir açılır menü göstermeye çalışıyorum.SelectList'te özel metin alanı ayarla

Bir listeyi bir Kişiler listesi görüntülemeye çalışıyorum. Bir kişi bir ContactID, FirstName ve LastName içerir.

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

Şu anda sadece soyadını gösteren, ama ben açılır listede ad ve soyadınızı görüntülemek istiyorum. Aynı arıyordum

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

cevap

6

Değişim iletişim sınıfı özelliğini ekleyin. Sana yaklaşık bir yıl önce istedi ama bu sayfayı bulacaksınız tüm diğer insanlar için biliyorum: Ben "İletişim" sınıfı değiştiremezsiniz Benim durumumda

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

.

+0

basit ve hızlı bir yöntem ... mükemmel çalışıyor :) –

18

ve soru google ilk sonucuydu:

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

Sonra kullanmak:

+1

+1 Geçmişte bunu nasıl yaptım ve güzel çalışıyor. –

+0

@Steven, çözüldü olarak işaretle! – regisbsb

İlgili konular