SORU
22 AĞUSTOS 2011, PAZARTESİ


MVC3 DropDownListFor - basit bir örnek?

MVC3 benim app DropDownListFor ile ilgili sorun yaşıyorum. Ben kullanabilir StackOverflow da resim nasıl onları görünür Görünüm, ama şimdi bilmiyorum nasıl yakalanır değerlere karşılık gelen özellikleri Görünüm Modeli ne zaman sundu. Almak için bu gereken bir iş vardı oluşturmak için bir iç sınıf bir KİMLİĞİ ve bir değer özelliği oldu için kullanın IEnumerable<Contrib> tatmin DropDownListFor parametre gereksinimleri. Şimdi, ancak, nasıl MVC göster gerekiyordu FW bu aralığın değeri açılan basit bir dize özelliği arkadan görünüm modelimi?

public class MyViewModelClass
{
    public class Contrib
    {
        public int ContribId { get; set; }
        public string Value { get; set; }
    }

    public IEnumerable<Contrib> ContribTypeOptions = 
        new List<Contrib>
        {
            new Contrib {ContribId = 0, Value = "Payroll Deduction"},
            new Contrib {ContribId = 1, Value = "Bill Me"}
        };

    [DisplayName("Contribution Type")]
    public string ContribType { get; set; }
}

Benim görüşüme göre bu gibi sayfasında açılan yer:

<div class="editor-label">
    @Html.LabelFor(m => m.ContribType)
</div>
<div class="editor-field">
    @Html.DropDownListFor(m => m.ContribTypeOptions.First().ContribId, 
             new SelectList(Model.ContribTypeOptions, "ContribId", "Value"))
</div>

Bu form sunduğumda ContribType (elbette) null.

Bunu yapmak için doğru yolu nedir?

CEVAP
22 AĞUSTOS 2011, PAZARTESİ


Böyle yapmanız gerekir:

@Html.DropDownListFor(m => m.ContribType, 
                new SelectList(Model.ContribTypeOptions, 
                               "ContribId", "Value", 
                               Model.ContribTypeOptions.First().ContribId))

Nereye:

m => m.ContribType

sonuç değeri olacak bir özellik.
Ve liste oluşturucu son param seçilen bir değerdir

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Michelle Phan

    Michelle Pha

    18 Temmuz 2006
  • ThePointblank

    ThePointblan

    18 Aralık 2006
  • Tomas N

    Tomas N

    14 Kasım 2010