2016-11-08 2 views
1

Ich habe eine Kundenklasse mit einer Eigenschaft Gender. Ich habe eine Liste von Geschlechtstyp erstellt, die ID-Nummer und Geschlechtstyp enthält. Wenn das Formular eingereicht wird, erhalte ich null Wert.DropDownlistfor gibt Nullwert zurück

Ansicht

@model MovieRentals.ViewModel.CustomerView 
<div class="form-group"> 
    <h4>@Html.LabelFor(l => l.Customer.BirthDate)</h4> 
    @Html.DropDownListFor(l => l.CustomerGender, new SelectList(Model.CustomerGender, "GenderId", "GenderType"), "Select Gender", new { @class = "form-control" }) 
</div> 

Modell

public class CustomerView 
{ 
    public IEnumerable<MembershipType> MembershipTypes{ get; set; } 
    public Customer Customer { get; set; } 
    public List<GenderClass> CustomerGender{ get; set; } 
} 

public class GenderClass 
{ 
    public int GenderId { get; set; } 
    public string GenderType { get; set; } 
} 

-Controller

public ActionResult New() 
    { 
     var MembershipTy = _context.MemebershipType.ToList(); 
     var ViewModel = new CustomerView(); 
     ViewModel.CustomerGender = new List<GenderClass>() 
     { 
      new GenderClass(){ GenderId = 1, GenderType = "Male"}, 
      new GenderClass() { GenderId = 2, GenderType = "Female"} 
     }; 
     ViewModel.MembershipTypes = MembershipTy; 
     return View(ViewModel); 
    } 
+0

Da Sie dieselbe Eigenschaft wie Datenquelle verwenden und die Auswahl beibehalten. Sie benötigen eine nicht aufzählbare Eigenschaft, die den ausgewählten Wert enthält. – CodeCaster

+0

Sie können eine '