title: How to Send Additional Data in Kendo Grid's AJAX Create
body: <p>I am able to send additional data to a Kendo grid's AJAX Read action using a pattern like so...</p>
  
  <pre><code>@(Html.Kendo().Grid&lt;ModelClass&gt;()
     .DataSource(dataSource =&gt; dataSource
        .Ajax()
        .Read(read =&gt; read.Action("Read", "Controller").Data("getAdditionalData"))
  
  function getAdditionalData() {
      return {
          AdditionalData: 'data'
      };
  }
  
  public ActionResult Read([DataSourceRequest] DataSourceRequest request, String additionalData)
  {
  }
  </code></pre>
  
  <p>... but how does one send additional data to the Create action?  In my scenario, creation requires information that is not entered by the user, but is available both in the view and as the return from getAdditionalData().  I've tried passing it using the following, but it is not being received by the action method.</p>
  
  <pre><code>.Create(create =&gt; create.Action("Create", "Controller").Data("getAdditionalData"))
  
  public ActionResult Create([DataSourceRequest] DataSourceRequest request, ModelClass model, String additionalData)
  </code></pre>
  
  <p>How is this done?  Or how else can additional data be passed to the AJAX create action?</p>
  
  <p>Ref Docs:</p>
  
  <ul>
  <li><a href="http://docs.telerik.com/kendo-ui/getting-started/using-kendo-with/aspnet-mvc/helpers/grid/ajax-binding#pass-additional-data-to-the-action-method" rel="nofollow">http://docs.telerik.com/kendo-ui/getting-started/using-kendo-with/aspnet-mvc/helpers/grid/ajax-binding#pass-additional-data-to-the-action-method</a></li>
  <li><a href="http://docs.telerik.com/kendo-ui/getting-started/using-kendo-with/aspnet-mvc/helpers/grid/ajax-editing" rel="nofollow">http://docs.telerik.com/kendo-ui/getting-started/using-kendo-with/aspnet-mvc/helpers/grid/ajax-editing</a></li>
  </ul>
  
  <p><strong>Update with Solution:</strong></p>
  
  <p>As it happens, there cannot be a field name (e.g. "additionalData") duplication between the grid's view model (e.g. "ModelClass") and the client-side data model.  That was not apparent in the question as I sanitized the code to post.  Not sure if this is happening at the javascript, MVC or Telerik layer.</p>
  
  <p>The solution was to change the client-side data model's field name to be different that the field name in the grid's view model.</p>
  
  <p><strong>Update with Another Solution:</strong></p>
  
  <p>Another option is to set the default value of the field in the grid's view model for create operations like so:</p>
  
  <pre><code>.DataSource(dataSource =&gt; dataSource
      .Ajax()
      .Model(model =&gt; {
          model.Field(x =&gt; x.Id)              // Set default value for grid model field
              .DefaultValue(Model.DefaultId); // as provided by controller in view model.
      })
  </code></pre>