ASP.NET Core,Telerik网格,不显示数据但控制器操作返回数据

问题描述 投票:0回答:2

在 ASP.NET MVC Core 3 项目中,我有适用于 ASP.NET Core 的 Telerik UI。

我已将网格连接到视图,并且控制器操作正在返回数据,但是网格不渲染数据。

我已经订阅了网格上的错误事件,但它没有触发。我也研究过,似乎 .NET Core 处理序列化的方式是驼峰式和帕斯卡式之间的问题,所以我的 Startup.cs 有这个:

services.AddControllersWithViews() 
    .AddJsonOptions(options =>
    {
        options.JsonSerializerOptions.PropertyNamingPolicy = null;

但是网格不会渲染任何返回的记录。

网格定义:

@(Html.Kendo().Grid<Web.Models.DemoQueueViewModel>().Name("grid")
    .Columns(columns =>
    {
        columns.Bound(c => c.FirstName);
    })
    .DataSource(dataSource => dataSource
        .Ajax()
        .Events(events => events.Error("error_handler"))
        .Model(model => 
        { 
            model.Id(p => p.Id);
        })
        .Read("GridRead", "DemoQueue")
    )
)
c# asp.net-core telerik-grid
2个回答
0
投票

问题可能与JSON序列化方法有关,当使用

System.Text.Json
方法序列化响应数据时,可能无法序列化复杂对象。

尝试使用Newtonsoft.Json序列化响应数据,通过Nuget安装Microsoft.AspNetCore.Mvc.NewtonsoftJson,然后使用以下代码:

services.AddControllersWithViews().AddNewtonsoftJson();

0
投票

我对 ASP Net Core 9.0 的修复

    builder.Services.AddControllers().AddNewtonsoftJson();
    builder.Services.AddRazorPages().AddNewtonsoftJson();
    builder.Services.AddControllersWithViews()
    .AddNewtonsoftJson(options =>
    {
        options.SerializerSettings.ContractResolver = new DefaultContractResolver();
    });
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.