ASP Core Kendo ui网格未显示数据

时间:2018-11-10 22:51:56

标签: asp.net-core kendo-ui telerik-grid kendo-ui-grid

我有一个使用razor模型获取其数据的kendo ui网格。网格显示正确的列名称,但是,它不显示任何数据。我可以验证是否已返回数据,但网格未呈现数据。我遵循了以下示例:Link to sample

下面是启动,控制器和cshtml页面的代码。

该项目在.NET Core 2.0上运行,并且控制器继承自Microsoft.AspNetCore.Mvc.Controller,其中示例继承自BaseController。

任何帮助表示赞赏!预先感谢。

Startup.cs-配置:

TOPIC_NAME

Startup.cs-ConfigureServices:

    // Configure Kendo UI
    app.UseKendo(env);

控制器:

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

        //Add Kendo UI services to the services container
        services.AddKendo();

CSHTML:

 var response = _personService.LoadById(id).Result;
 return View(response);

1 个答案:

答案 0 :(得分:0)

您需要将IEnumerable指定为视图模型,然后才能像这样传递数据:

控制器操作:

    public IActionResult Index()
    {
        var petList = new List<Pet>();

        petList.Add(new Pet { Name = "Cat" });
        petList.Add(new Pet { Name = "Dog" });

        return View(petList);
    }

Index.cshtml

@model IEnumerable<TelerikAspNetCoreApp1.Models.Pet>

<div class="row">
    <div class="col-xs-18 col-md-12">
        @(Html.Kendo().Grid(Model)
            .Name("petgrid")
            .Columns(columns =>
            {
                columns.Bound(p => p.Name);
            })
            .Pageable()
            .Sortable()
            .Scrollable()
            .Filterable()
            .DataSource(dataSource => dataSource
                .Ajax()
                .PageSize(20)
            )
        )
    </div>
</div>