title: Kendo Grid model with an IEnumerable property not updating correctly after Create/Update when using AJAX binding
body: <p>I'm having a problem where a property of my model is not being correctly updated when sending it to my controller for an Update or Create call from a Kendo Grid. The model looks like this:</p>
  
  <pre><code>public class ReleaseNotesModel
  {
      public int NoteID { get; set; }
      public int ReleaseID { get; set; }
      public List&lt;TranslationModel&gt; ReleaseNoteTranslations { get; set; }
      public ReleaseNoteType ItemType { get; set; }
  }
  public class TranslationModel
  {
      public int TranslationID { get; set; }
      public string Translation { get; set; }
      public int LanguageID { get; set; }
      public int ItemID { get; set; }
  }
  </code></pre>
  
  <p>Here is the grid in my view:</p>
  
  <pre><code>@(Html.Kendo().Grid&lt;ReleaseNotesModel&gt;()
      .Name("Grid")
      .Columns(columns =&gt;
      {
          columns.Bound(m =&gt; m.ItemType).Width(140);
          columns.Bound(m =&gt; m.Description);
          columns.Command(command =&gt;
              {
                  command.Edit();
                  command.Destroy();
              }).Width(170);
      })
      .ToolBar(toolbar =&gt; toolbar.Create())
      .Editable(editable =&gt; editable
          .Mode(GridEditMode.PopUp)
          .TemplateName("ReleaseNoteTemplate")
          .Window(w =&gt; w.Width(620))
          .DisplayDeleteConfirmation(true)
      )
      .Pageable()
      .Sortable()
      .Scrollable()
      .Filterable()
      .DataSource(dataSource =&gt; dataSource
          .Ajax()
          .ServerOperation(false)
          //.Server()
          .Events(e =&gt; e.Error("grid_error"))
          .Model(model =&gt;
          {
              model.Id(m =&gt; m.NoteID);
              model.Field(m =&gt; m.ReleaseID).DefaultValue(Model.ReleaseID);
              model.Field(m =&gt; m.ItemType).DefaultValue(ReleaseNoteType.NewFeature);
              //defaultTranslationsList is a List&lt;TranslationModel&gt; with two empty objects in it
              model.Field(m =&gt; m.ReleaseNoteTranslations).DefaultValue(defaultTranslationsList);
          })
          .PageSize(5)
          .Read(read =&gt; read.Action("GetNotes", "ReleaseNotes", new { releaseID = Model.ReleaseID }))
          .Create(create =&gt; create.Action("AddNote", "ReleaseNotes"))
          .Update(update =&gt; update.Action("EditNote", "ReleaseNotes"))
          .Destroy(destroy =&gt; destroy.Action("DeleteNote", "ReleaseNotes"))
      )
  )
  </code></pre>
  
  <p>So more specifically, the problem I am having is that in my controller action:</p>
  
  <pre><code>public async Task&lt;ActionResult&gt; EditNote(ReleaseNotesModel model)
  </code></pre>
  
  <p><code>model.ReleaseNoteTranslations</code> always contains two empty objects (properties are null or 0), i.e. the default value which I set for this property. If I set no default value, then I won't have any fields to edit for this property in the popup editor. All the other properties are updated as expected.</p>
  
  <p>What bugs me is that if I use server binding instead of AJAX, then all the data is correctly received. So I decided to check out the data in the request headers being sent in both cases:</p>
  
  <pre><code>// Using server binding
  ReleaseID:300
  NoteID:886
  ItemType:1
  ReleaseNoteTranslations[0].ItemID:886
  ReleaseNoteTranslations[0].LanguageID:1
  ReleaseNoteTranslations[0].TranslationID:869
  ReleaseNoteTranslations[0].Translation:The module is now released!
  ReleaseNoteTranslations[1].ItemID:886
  ReleaseNoteTranslations[1].LanguageID:2
  ReleaseNoteTranslations[1].TranslationID:870
  ReleaseNoteTranslations[1].Translation:Le module est maintenant disponible!
  NoteID:886
  
  // Using AJAX binding
  sort:
  group:
  filter:
  NoteID:886
  ReleaseID:300
  ReleaseNoteTranslations[0][TranslationID]:869
  ReleaseNoteTranslations[0][Translation]:The module is now released!
  ReleaseNoteTranslations[0][LanguageID]:1
  ReleaseNoteTranslations[0][ItemID]:886
  ReleaseNoteTranslations[1][TranslationID]:870
  ReleaseNoteTranslations[1][Translation]:Le module est maintenant disponible!
  ReleaseNoteTranslations[1][LanguageID]:2
  ReleaseNoteTranslations[1][ItemID]:886
  ItemType:1
  </code></pre>
  
  <p>Now what I notice first here is the syntax of <code>objectName[index].PropertyName</code> vs <code>objectName[index][PropertyName]</code></p>
  
  <p>I wonder if this could be the cause of my problem, and if so, is there a way for me to go and directly manipulate the data being sent to fix it? Could this be a bug in the way Kendo Grid sends data through Ajax binding?</p>
  
  <p>Either way, any help would be much appreciated!</p>