title: Delete row in nested Telerik MVC grid
body: <p>I face a problem - the controller method gets a NULL argument (key field value) from the nested (detail) view. 
  What did I miss?</p>
  
  <pre><code>&lt;% Html.Telerik().Grid&lt;mCustomer&gt;()
      .Name("CustomerGrid")
      .Columns(columns =&gt;
      {
          columns.Bound(c =&gt; c.CustomerId).Title("CustomerId").Visible(false);
          columns.Bound(c =&gt; c.CustomerName).Title("Customer");
          columns.Bound(c =&gt; c.CustomerAddress).Title("Address");
          columns.Command(comand =&gt;
          {
              comand.Edit();
              comand.Delete();
          }).Title("Command");
      })
      .ToolBar(commands =&gt; commands.Insert())
      .DataKeys(keys =&gt; keys.Add(c =&gt; c.CustomerId))
      .DataBinding(dataBinding =&gt; dataBinding.Ajax()
              .Select("CustomerListAjax", "Customer")
              .Insert("InsertCustomer", "Customer")
              .Update("EditCustomer", "Customer")
              .Delete("DeleteCustomer", "Customer")
      )
      .ClientEvents(events =&gt; events.OnRowDataBound("customer_onRowDataBound"))
      .DetailView(detail =&gt; detail.ClientTemplate(
          Html.Telerik().Grid&lt;mProject&gt;("&lt;#= CustomerId #&gt;")
              .Name("Projects_&lt;#= CustomerId #&gt;")
              .DataKeys(k =&gt; k.Add(p =&gt; p.ProjectId))
              .Columns(columns =&gt;
                  {
                      //columns.Bound(p =&gt; p.ProjectId).Visible(false);
                      columns.Bound(p =&gt; p.ProjectName).Visible(true).Title("Project").Width(180);
                      columns.Bound(p =&gt; p.ProjectCustomer).Width(340).Visible(false);
                      columns.Bound(p =&gt; p.IsForcast).Visible(true).Title("Is Forecast").Width(150).ClientTemplate("&lt;input type='checkbox' name='chkForecast' disabled='disabled' &lt;#= IsForcast? \"checked='checked'\" : \"\" #&gt; /&gt; ").HtmlAttributes(new { style = "text-align:center" });
                      columns.Bound(p =&gt; p.RateMode).Visible(true).Title("Rate").Width(80);
                      columns.Bound(p =&gt; p.IsVacationPaid).Visible(true).Title("Vacation Paid").Width(100).Width(150).ClientTemplate("&lt;input type='checkbox' name='chkIsVacationPaid' disabled='disabled' &lt;#= IsVacationPaid? \"checked='checked'\" : \"\" #&gt; /&gt;").HtmlAttributes(new { style = "text-align:center" });
                      columns.Bound(p =&gt; p.IsHolidayPaid).Visible(true).Title("Holiday Paid").Width(100).Width(150).ClientTemplate("&lt;input type='checkbox' name='chkHolidayPaid' disabled='disabled' &lt;#= IsHolidayPaid? \"checked='checked'\" : \"\" #&gt; /&gt;").HtmlAttributes(new { style = "text-align:center" });
                      columns.Bound(p =&gt; p.IsSickDaysPaid).Visible(true).Title("Sickness Paid").Width(100).Width(150).ClientTemplate("&lt;input type='checkbox' name='chkSickDaysPaid' disabled='disabled' &lt;#= IsSickDaysPaid? \"checked='checked'\" : \"\" #&gt; /&gt;").HtmlAttributes(new { style = "text-align:center" });
                      columns.Bound(p =&gt; p.StartDate).Title("Start Date").Width(100).Width(130).Format("{0:d}");
                      columns.Bound(p =&gt; p.Probability).Title("Probability").Format("{0:N3}").Width(100);
                      //columns.Bound(p =&gt; p.AccountManager).Title("Owner").Width(100).Width(150);
                      columns.Command(comand =&gt;
                      {
                          comand.Edit();
                          comand.Delete();
                      }).Title("Command").Width(200);
                  }
               )
              .DataBinding(dataBinding =&gt; dataBinding.Ajax()
                  .Select("ProjectListAjax", "Customer", new { CustomerId = "&lt;#= CustomerId #&gt;" })
                  .Delete("DeleteProjectAjax", "Customer")
                  .Insert("InsertProjectAjax", "Customer", new { ProjectCustomer = "&lt;#= CustomerId #&gt;" })
                  .Update("EditProject", "Customer")
              )
          //.ClientEvents(e=&gt;e.OnDataBound("project_OnDataBound").OnEdit("project_OnEdit"))
              .ToolBar(commands =&gt; commands.Insert())
              .RowAction(row =&gt;
              {
  
              })
          //.Selectable(s=&gt;s.Enabled(true))
              .Filterable()
              .Pageable()
              .Sortable()
              .Resizable(resizing =&gt; resizing.Columns(true))
              .Editable(e =&gt; e.DisplayDeleteConfirmation(true).Enabled(true))
              .ToHtmlString()
       ))
      .Sortable()
      .Selectable()
      .Filterable()
      .Resizable(resizing =&gt; resizing.Columns(true))
      .Editable(e =&gt; e.DisplayDeleteConfirmation(true))
      .Pageable(builder =&gt; builder.PageSize(10))
      .Groupable()
      .Scrollable(scrolling =&gt; scrolling.Height(500))
      .PrefixUrlParameters(false)
      .Render();
  %&gt;  
  </code></pre>
  
  <p>Controller method: </p>
  
  <pre><code>[GridAction]
  public ActionResult DeleteProjectAjax(mProject project)
  {
      _manager.Projects.DeleteProject(project);
      return View(new    gridModel(_manager.Projects.GetProjectListAjax(project.ProjectCustomer)));
  }
  </code></pre>