Я использую .net-core и Kendo-UI для проекта.
Я пытаюсь передать проверенные значения (в каждой строке есть флажок) из одной таблицы кендо в другую, которая находится во всплывающем окне.
Это всплывающее окно представляет собой всплывающее окно начальной загрузки 4, которое вызывается при нажатии кнопки.
Проблема в том, что во всплывающем окне сетка не будет отображать проверенные данные.
Как это работает, пользователь проверяет строки в сетке и затем нажимает кнопку, которая затем запускает POST на сервере.
Этот пост содержит массив проверенных строк.
Затем этот массив передается обратно через контроллер в другую сетку кендо во всплывающем окне.
Что я ожидаю, так это то, что данные, передаваемые контроллеру, передаются обратно в эту новую сетку.
То, что происходит - вторая сетка остается пустой.
Я проверил вкладку сети в инструментах Chrome, и контроллер возвращает данные.
Его просто не найти в сетке.
Есть идеи?
// Здесь находится функция контроллера, вызов ajax и сетка кендо (всплывающее окно).
// Функция контроллера
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")
)
)
``````````````````````````````````````````````````````````````````````````