Проблема Создание уникального значения по умолчанию для идентификатора с помощью Grid в Telerik ASP.NET Core для Ajax - PullRequest
0 голосов
/ 19 января 2019

В следующем коде с сайта Telerik показано, как CRUD-продукт. Я реализовал этот код, и он не работает, потому что Grid не создает значение для ProductID перед отправкой его на сервер. Без установки значения ProductID Grid не знает, что модель, которую она получает обратно, является той, которую она отправила. Следовательно, модель не помечается как «созданная». Когда я создаю другую запись, она отправляет первую запись вместе с ней.

Я думаю, что мне нужно установить значение по умолчанию для ProductID, но не могу понять, как. Как создать уникальный ProductID для каждого созданного продукта?

Ссылка на код

@(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.ProductViewModel>()
.Name("grid")
.Columns(columns =>
{
    columns.Bound(p => p.ProductName);
    columns.Bound(p => p.UnitPrice).Width(100);
    columns.Bound(p => p.UnitsInStock).Width(100);
    columns.Bound(p => p.Discontinued).Width(100);
    columns.Command(command => { command.Edit(); command.Destroy(); }).Width(172);
})
.ToolBar(toolbar => toolbar.Create())
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Pageable()
.Sortable()
.Scrollable()
.HtmlAttributes(new { style = "height:430px;" })
.DataSource(dataSource => dataSource
    .Ajax()
    .PageSize(20)
    .Events(events => events.Error("error_handler"))
    .Model(model => model.Id(p => p.ProductID))
    .Create(update => update.Action("EditingInline_Create", "Grid"))
    .Read(read => read.Action("EditingInline_Read", "Grid"))
    .Update(update => update.Action("EditingInline_Update", "Grid"))
    .Destroy(update => update.Action("EditingInline_Destroy", "Grid"))
))

Они ссылаются на эту статью о том, как создать источник данных. Они забывают упомянуть, что база данных Northwind автоматически генерирует ProductID. В своем коде я хочу создать его в браузере, но не могу найти способ сделать это.

1 Ответ

0 голосов
/ 02 февраля 2019

Проблема с Кендо (). Сетка. Он не поддерживает использование Guids в качестве идентификатора. Переключение типа Id на строки решает проблему.

...