1

I have this model:

 public class ReservationViewModel
 {        
  public Flight InboundFlight { get; set; }
  public Flight OutboundFlight { get; set; }
 }

 //Flight
 public class Flight
 {
  public List<ISeat> Seats { get; set; }
 }

 //Seats
  public interface ISeat 
  {
    ECabin Cabin { get; }
    int NumberOfSeatsAvailable { get; }
    int SeatsChosen { get; set; }
    string PropertyName { get; }
 }

My HTML consist of the folliwing:

<select id="OutboundFlight__0__Seats_SeatsChosen" name="OutboundFlight.[0].Seats.SeatsChosen" class="valid"><option...
<select id="OutboundFlight__0__Seats_SeatsChosen" name="OutboundFlight.[1].Seats.SeatsChosen" class="valid"><option...
<select id="OutboundFlight__0__Seats_SeatsChosen" name="OutboundFlight.[2].Seats.SeatsChosen" class="valid"><option...

My Action:

    [HttpPost]
    public ActionResult Index(ReservationViewModel model, FormCollection form)
    {            
        return View();
    }

Upon submit I try to bind back to the model but the Seats of each flight returns null... Help will be appreciated

4

1 に答える 1

1

生成されているHTMLは、リストにバインドするには正しくありません。フィールド名は、c#からプロパティにアクセスするときに表示されるものと一致する必要があります。

これは機能するはずです:

name="OutboundFlight.Seats[0].SeatsChosen"
于 2012-05-02T16:35:48.617 に答える