将数据从一个Kendo网格传递到另一个驻留在弹出窗口中的网格

时间:2019-03-29 20:02:59

标签: c# kendo-ui .net-core bootstrap-4 kendo-grid

我正在将.net-core和Kendo-UI用于项目。

我试图将一个Kendo Grid的checked(每行都有一个复选框)值传递给驻留在弹出窗口中的另一个Kendo Grid。 此弹出窗口是bootstrap 4弹出窗口,单击该按钮时将被调用。 问题在于弹出窗口中的网格将不会显示已检查的数据。

工作原理是用户检查网格中的行,然后单击一个按钮,然后将POST触发到服务器。 这篇文章包含一组选中的行。

然后将该数组通过控制器传递回弹出窗口中的另一个Kendo Grid。

我希望发生的是将传递到控制器的数据传递回这个新的网格。 发生了什么事,第二个网格仍然为空。 我在Chrome工具中检查了网络标签,控制器正在返回数据。 只是找不到通往网格的路。

有什么想法吗?

//这是控制器功能,ajax调用和kendo网格(弹出窗口)。

//控制器功能

public IActionResult SendInventoryGridData
([DataSourceRequest]DataSourceRequest request, string ViewBy, int BrandId, string[] Asins)
        {
            List <InventoryVM> Datalist= new List<InventoryVM>();

            foreach(string Asin in Asins)
            {
                Datalist.Add(new InventoryVM { Asin = Asin, Quantity = 1 });
            }
            var results = Datalist;
            return Json(results.ToDataSourceResult(request));
        }

// Ajax Post

        $.ajax({
            type: "POST", url: '@Url.Action("SendInventoryGridData", "InventoryManager")',
            success: function (data) {
                console.log(data);
            },
            data: { "ViewBy": viewBy, "BrandId": brandId, "Asins": Asins },
            accept: 'application/json'
        });

`````````````````````````````````````````````````````````````````````````




// Kendo Grid in popup window
`````````````````````````````````````````````````````````````````````
  @(Html.Kendo().Grid<Grit.WebUI.Models.Inventory.InventoryVM>()
 .Name("gReviewFeedbackCombo")
  .Columns(columns =>
    {
      columns.Bound(p => p.Asin).Title("Asin");
      columns.Bound(p => p.Quantity).Editable("productNameEditable");
      })
     .Scrollable(sc => sc.Endless(true))
     .HtmlAttributes(new { style = "height:400px;" })
     .DataSource(dataSource => dataSource
     .Ajax()
     .Model(model => model.Id(p => p.Asin))
     .Read(read => read.Action("SendInventoryGridData", "InventoryManager")))
     .Events(events => events.DataBound("dataBound")
         )
        )
``````````````````````````````````````````````````````````````````````````

1 个答案:

答案 0 :(得分:0)

经过一番思考,我找到了答案。我删除了ajax调用,然后让网格调用了函数本身。像魅力一样工作。