2014-07-03 48 views
0

我使用Web API将Kendo Grid与MVC服务器端封装器一起设置。这是我的代码使用Web API的Kendo Grid MVC服务器端封装器2

@(Html.Kendo().Grid<Models.UserViewModel>() 
      .Name("UserGrid") 
      .Columns(column => 
      { 
       column.Bound(c => c.FirstName); 
       column.Bound(c => c.LastName); 
       column.Bound(c => c.Email); 
      }) 
      .DataSource(ds => ds 
       .Ajax() 
       .Model(m => m.Id(u => u.Id)) 
       .Read(read => read.Url("/api/..").Type(HttpVerbs.Get)) 

     ) 
    ) 

这是我的web api控制器和我发现它的问题是我得到null是请求参数。我不知道为什么它正在发生,任何suggestionj请

public DataSourceResult GetAllUsers 
      ([ModelBinder(typeof(DataSourceRequestModelBinder))] DataSourceRequest request) 
     { 
      var users= _userRepository.GetAllUsers(); 
      return users.ToDataSourceResult(request, s => new UserViewModel 
      { 
       Id = s.Id, 
       FirstName = s.FirstName, 
       LastName = s.LastName, 
       Email = s.Email 

      }); 
     } 

回答

0

我敢打赌,你需要让得到你的控制器的方法:

public DataSourceResult GetAllUsers 
      ([ModelBinder(typeof(DataSourceRequestModelBinder))] DataSourceRequest request) 
     { 
      var users= _userRepository.GetAllUsers(); 
      return users.ToDataSourceResult(request, s => new UserViewModel 
      { 
       Id = s.Id, 
       FirstName = s.FirstName, 
       LastName = s.LastName, 
       Email = s.Email 

      }).JsonRequestBehavior.AllowGet; 
     }