DropDownListFor
MVC3 uygulamamda sorun yaşıyorum . StackOverflow'u onları Görünümde nasıl görüneceklerini bulmak için kullanabildim, ancak şimdi gönderildiğinde Görünüm Modelinde karşılık gelen özelliklerdeki değerleri nasıl yakalayacağımı bilmiyorum. Bunun çalışmasını sağlamak için bir ID ve bir değer özelliğine sahip bir iç sınıf oluşturmalıydım, sonra parametre gereksinimlerini IEnumerable<Contrib>
karşılamak için an kullanmalıydım DropDownListFor
. Ancak şimdi, MVC FW'nin bu açılır menüde seçilen değeri görünüm modelimdeki basit dize özelliğine nasıl eşlemesi gerekiyor?
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; }
}
Görünümümde açılır listeyi sayfaya şu şekilde yerleştiriyorum:
<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>
Formu gönderdiğimde ContribType
(elbette) boş.
Bunu yapmanın doğru yolu nedir?