title: Kendo UI Grid MVC redirect to strongly typed view
body: <p>I have two strongly typed views. The first view is responsible for displaying a Kendo UI grid (MVC) which lists summarized grant applications. When a user selects a row, they will be able to click a button that will redirect them to another View which is strongly typed as the Model represented by that grid row.</p>
  
  <p>The second view will display a form with all the details of the grant application and allow an administrator to approve or reject the application with comments.</p>
  
  <p>The problem that I'm having is getting the "View Application" button to pass the model back to my controller and then load the other View with the Model selected. </p>
  
  <p><strong>Controller</strong></p>
  
  <pre><code>    [HttpPost]
      public ActionResult ValidateModel(GrantFormDTO appToUpdate)
      {
          if (ModelState.IsValid)
          {
              return Json(appToUpdate);
          }
  
          return Json(new GrantFormDTO());
      }
  
      [HttpPost]
      public ViewResult Details(GrantFormDTO appToUpdate)
      {
          return View(appToUpdate);
      }
  </code></pre>
  
  <p><strong>Kendo UI Grid</strong></p>
  
  <pre><code>    @(Html.Kendo().Grid(Model)
        .Name("GrantApplications")
        .DataSource(dataSource =&gt; dataSource
            .Ajax()
            .Read(read =&gt; read.Action("Applications_Read", "GrantForm"))
        )
        .Columns(columns =&gt;
        {
            columns.Bound(c =&gt; c.RequestingOrg).Width(150);
            columns.Bound(c =&gt; c.Telephone).Width(150);
            columns.Bound(c =&gt; c.Email).Width(150);
            columns.Bound(c =&gt; c.ContactName).Width(150);
            columns.Bound(c =&gt; c.ContactTel).Width(150);
            columns.Bound(c =&gt; c.AmountRequested).Width(150);
            columns.Bound(c =&gt; c.TotalGoal).Width(150);
            columns.Bound(c =&gt; c.Sponsor).Width(150);
            columns.Bound(c =&gt; c.Status).Width(150);
            columns.Bound(c =&gt; c.Comment).Width(150);
        })
        //.Scrollable(s =&gt; s.Enabled(true).Height("auto"))
        .Pageable()
        .Sortable()
        .Resizable(resize =&gt; resize.Columns(true))
        .Selectable(selectable =&gt; selectable.Mode(GridSelectionMode.Single))
        .Events(events =&gt; events.Change("GetSelectedRow"))
        )
  </code></pre>
  
  <p><strong>Scripts for getting selected row data and posting to controller</strong></p>
  
  <pre><code>&lt;div class="row"&gt;
  &lt;div class="col-md-2 col-md-offset-10"&gt;
      &lt;button class="btn btn-primary btn-block" id="viewApplicationBtn" type="button"&gt;View Application&lt;/button&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p></p>
  
  <pre><code>&lt;script&gt;
      //Selection changed event handler
      GetSelectedRow = function(event) {
          var grid = event.sender;
          var data = grid.dataItem(this.select());
  
          if (data == null) {
              $("#viewApplicationBtn").prop("disabled", true);
          } else {
              $("#viewApplicationBtn").prop("disabled", false);
          }
      }; 
  
      //View Application Button
      $("#viewApplicationBtn").prop("disabled", true);
      $("#viewApplicationBtn").on("click", function () {
          var grid = $("#GrantApplications").data("kendoGrid");
          var gridData = grid.dataItem(grid.select());
  
          $.ajax({
              type: "POST",
              url: "@Url.Action("ValidateModel")",
              datatype: "json",
              contentType: "application/json",
              data: JSON.stringify(gridData),
              success: function(data) {
                  //This is where I think I need to do something with my Mode/redirect
              },
              error: function(data) {
                  console.log("post failed");
              }
          });
      });
  &lt;/script&gt;
  </code></pre>
  
  <p>Since I'm doing an ajax call here, I'm not able to load a View from a controller method. The other answers I've seen related to this say to simply pass the parameters to my controller method in the .success function of my ajax call as url string variables and then let the model binder put it all together for me on the server side. That's fine, but I have a lot of fields to map, and I will be adding more, so I'd rather not go down that route.</p>
  
  <p>What I'd like to do, is have my JSON stringified row passed to my controller method, have it bind to my Model (all of which it does so far) and then load my strongly typed view of that Model. How can I accomplish this? </p>
  
  <p>If I can't use an ajax call, what other approach will let me pass my model from a kendo grid to my controller and let me redirect with it?</p>