title: How to use pagination in Kendo grid with partial views in mvc5
body: <p>I am using Kendo grid to show some user information. I have 3 tabs in view Admin and each of the tab is partial view. say customer,user,portfolio. i am loading the kendo grid while calling the main view itself which is Admin View through view Model which consists 3 classes</p>
  
  <pre><code>public class AdminViewModel
  {
      public IEnumerable&lt;CustUser&gt; CustomerUsers { get; set; }
      public IEnumerable&lt;Customer&gt; Customers { get; set; }
  
      public IEnumerable&lt;Portfolio&gt; Portfolios { get; set; }
  }
  </code></pre>
  
  <p>And i am passing this view model to each of the 3 partial views. And its working fine but the problem is when i want to go to the next page in Grid. Its just returning the Json Data on the page.
  My kendo grid:</p>
  
  <pre><code>&lt;div class="col-xs-12"&gt;
              @try
              {
                  @(Html.Kendo().Grid(Model.CustomerUsers)
              .Name("User")
              .Columns(columns =&gt;
                      {
                          columns.Bound(p =&gt; p.CustUserID).Visible(false);
                          columns.Bound(p =&gt; p.FirstName);
                          columns.Bound(p =&gt; p.LastName);
                          columns.Bound(p =&gt; p.CustUserName);
                          columns.Bound(p =&gt; p.EmailAddress);
                          columns.Bound(p =&gt; p.IsActive);
                          columns.Bound(p =&gt; p.ModifiedDt).Visible(false);
                          columns.Bound(p =&gt; p.CreatedDt).Visible(false);
                          columns.Command(command =&gt;
                          {
                              //command.Edit();
                              //command.Destroy().Text("Del");
                              command.Custom("Delete").Click("ConfirmDeleteUnit").Text("&lt;span class='fa fa-trash-o'&gt;&lt;/span&gt;").HtmlAttributes(new { @style = "width:40px !important;min-width:0px !important;" }); ;
                          }).Width(160);
                      })
                 .Pageable()
      .Sortable()
      .Scrollable(scrollable =&gt; scrollable.Virtual(true))
              .DataSource(dataSource =&gt; dataSource
                  .Ajax()
  
                          .PageSize(25)
                              .Events(events =&gt; events.Error("error_handler"))
                          .Model(model =&gt;
                              {
                                  model.Id(i =&gt; i.CustUserID);
  
                              })
  
                                  .Read(read =&gt; read.Action("LazyCustUser_Read", "Admin")
                                  )
                      //.Update(update =&gt; update.Action("InlineEditUnit_Update", "Unit"))
                      //.Destroy(update =&gt; update.Action("InlineEditUnit_Destroy", "Unit"))
               )
                  )
              }
              catch (Exception exe)
              {
  
                  CSP.Web.Helpers.Log objLog = new CSP.Web.Helpers.Log();
                  objLog.LogError(exe.Message.ToString() + this.ToString());
              }
          &lt;/div&gt;
  </code></pre>
  
  <p>and My Admin Controller </p>
  
  <pre><code> public async Task&lt;ActionResult&gt; Index()
      {
  
  
          if (Session["custUserID"] != null)
          {
              try
              {
                  var custUsers = await _custUserRepo.GetAllCustUsers();
                  var customers = await _CustomerRepo.GetAllCustomers();
                  var portfolios = await _portfolioRepo.GetPortFolios();
                  if (custUsers == null)
                      return RedirectToAction("ShowError", "Error");
                  adminViewModel.CustomerUsers = custUsers;
              }
              catch (Exception exe)
              {
                  objError.LogError(exe.Message);
                  return RedirectToAction("ShowError", "Error");
              }
              return View(adminViewModel);
          }
          else
          {
  
              return RedirectToAction("Index", "Account");
          }
      }
  
  
  public async Task&lt;ActionResult&gt; LazyCustUser_Read([DataSourceRequest] DataSourceRequest request)
      {
          if (Session["custUserID"] != null)
          {
              try
              {
                  var custUser = await _custUserRepo.GetAllCustUsers();
                  return Json(custUser.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
              }
              catch (Exception exe)
              {
                  Log objLog = new Log();
                  objLog.LogError(exe.InnerException.ToString());
                  return RedirectToAction("ShowError", "Error");
              }
          }
          else
          {
              return RedirectToAction("Index", "Account");
          }
  
      }
  </code></pre>