2016-07-24 11 views
0

グリッドが正しく設定されていると思います。データが通過していることを確認しました。さらに、AJAX呼び出しが "ToDataSourceResult" JSONデータで成功を返すことを確認しました。Telerik Grid MVCでデータが表示されない

残念ながら、唯一の問題は、データが表示されないということです。これは、読み取り、更新、作成、およびすべての作業の削除としてのみ問題となるようです。後ですべてのアイテムのリストを取得することはできません。

私のコントローラのアクションは、次のようになります

public IActionResult Blog_Read([DataSourceRequest] DataSourceRequest request) 
     { 
      var blogs = _blogService.GetPosts().Select(post => new BlogPostModel 
      { 
       Id = post.Id, 
       Title = post.Title, 
       Author = post.Author, 
       ShortDescription = post.ShortDescription, 
       Contents = post.Contents, 
       LastSaved = post.LastSaved, 
       Published = post.Published, 
       PublishedOn = post.PublishedOn 
      }); 
      var result = blogs.ToDataSourceResult(request); 
      return Json(result); 
     } 

そして、私のグリッドビューは次のようになります。

@(Html.Kendo().Grid<BlogPostModel>() 
      .Name("grid") 
      .Columns(columns => 
      { 
       columns.Bound(p => p.Title); 
       columns.Bound(p => p.Author).Width(120); 
       columns.Bound(p => p.LastSaved).Width(120); 
       columns.Bound(p => p.Published).Width(120); 
       columns.Command(command => { command.Edit(); command.Destroy(); }).Width(250); 
      }) 
      .ToolBar(toolbar => toolbar.Create()) 
      .Editable(editable => editable.Mode(GridEditMode.PopUp)) 
      .Pageable() 
      .Sortable() 
      .Scrollable() 
      .HtmlAttributes(new { style= "height:600px;"}) 
      .DataSource(dataSource => dataSource 
       .Ajax() 
       .PageSize(20) 
       .Events(events => events.Error("error_handler")) 
       .Model(model => model.Id(p => p.Id)) 
       .Create(update => update.Action("Blog_Create", "BlogAdmin")) 
       .Read(read => read.Action("Blog_Read", "BlogAdmin")) 
       .Update(update => update.Action("Blog_Update", "BlogAdmin")) 
       .Destroy(update => update.Action("Blog_Delete", "BlogAdmin")) 
      ) 
      .Deferred() 
     ) 

正しいJSONが返され、コンソールにjavascriptエラーがないので、これが何であるか少し混乱します。どんな助けでも大歓迎です。

答えて

0

私は私のStartup.cs ConfigureServices方法に

services.AddMvc().AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver()); 

を追加することでこれを解決しました。

関連する問題