【问题标题】:telerik asp.net core grid not displaying returned dataTelerik asp.net 核心网格不显示返回的数据
【发布时间】:2018-12-02 12:30:56
【问题描述】:

这应该是一个简单的解决方案,但我已经解决了 2 个小时。

我在这里定义了一个 Telerik 网格:

  @(Html.Kendo().Grid<Models.LOB.RebateAssignedUpc>
                        ().Name("gridCustomers")
                        .Columns(c =>
                        {
                            c.Bound(e => e.Id).Title("Id");
                            c.Bound(e => e.Upc).Title("UPC");

                        })
                        .Groupable()
                  .DataSource(source =>
                  {
                      source.Custom()
                      .Transport(transport =>
                      {
                          transport.Read("GetUPCs", "Upc2");
                      });

                  })
    )  

它在控制器中调用这个方法,我已经验证它被调用并正在获取数据:

public ActionResult GetUPCs()
    {
        List<RebateAssignedUpc> upcDetails = db.RebateAssignedUpc.ToList();

        var result = db.RebateAssignedUpc.Select(x => new
        {
           x.Id,
           x.Upc
        }).ToList();

        var output = JsonConvert.SerializeObject(result);

        return Json(output);

    }

网格显示但没有数据,它确实有列并且按部分显示。 在控制器中使用断点显示输出:

"[{\"Id\":1,\"Upc\":\"12345\"},{\"Id\":2,\"Upc\":\"12346\"},{ \"Id\":5,\"Upc\":\"12345\"}]"

使用 f12 我验证了控制器正在将这些数据返回给浏览器:

"[{\"Id\":1,\"Upc\":\"12345\"},{\"Id\":2,\"Upc\":\"12346\"},{ \"Id\":5,\"Upc\":\"12345\"}]"

我也尝试过手动这样做:

 List<RebateAssignedUpc> upc = new List<RebateAssignedUpc>{
               new RebateAssignedUpc{Id = 1, Upc = "1234"}

               };

        string jsonString = JsonConvert.SerializeObject(upc);

        return Json(jsonString);

【问题讨论】:

    标签: c# asp.net telerik


    【解决方案1】:

    一开始网格定义错误,还需要提供Schema数据。

      @(Html.Kendo().Grid<WebPortal.Controllers.upcReturnData>().Name("gridCustomers")
                                                     .Columns(
                                        c =>
                                        {
                                            c.Bound(e => e.upc).Title("UPC");
    
                                        })
                                        .Scrollable()
                                        .Resizable(resize => resize.Columns(true))
                                        .DataSource(source =>
                                        {
                                            source.Custom()
                                            .Transport(transport =>
                                            {
                                                transport.Read("GetUPCs", "upc2");
                                            }).Schema(schema =>
                                            {
                                                schema.Data("dataReturned");
    
                                            });
                                        })
    

    用于定义网格的控制器和upcReturnedData的部分类:

     public ActionResult GetUPCs()
            {
               // List<upcReturnData> upcDetails = db.RebateAssignedUpc.ToList();
    
                var result = db.RebateAssignedUpc.Select(x => new
                {
                   id= x.Id,
                   upc=x.Upc
    
                }).ToList();
    
    
                return Json( new { dataReturned = result });
    
            }
    public partial class upcReturnData
    {
        public int id { get; set; }
        public string upc { get; set; }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-02
      • 2021-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多