В нижней части сетки я реализовал метод Destroy для удаления записей, но проблема в том, что при удалении на стороне сервера произошла ошибка, сетка kendo все еще удаляет запись из сетки. когда я обновляю запись страницы, появляется снова, как ожидалось. как я могу предотвратить сетку кендо от удаления записи, если произошла ошибка на стороне сервера и показать сообщение об ошибке пользователю?Kendo Grid Destroy Command Не обновляющая сетка
@(Html.Kendo().Grid((IEnumerable<RealEstateApp.Models.propertyOwenerModel>)Model)
.Name("grid")
.Columns(columns =>
{
columns.Bound(o => o.id).Visible(false);
columns.Bound(o => o.name).Width("150px");
columns.Bound(o => o.email).Width("100px");
columns.Bound(o => o.address).Width("200px");
columns.Bound(o => o.telephone).Width("100px");
columns.Bound(o => o.mobile).Width("100px");
columns.Template(o => Html.ActionLink("Edit", "Edit", new { o.id })).ClientTemplate("<a class='k-button k-button-icontext' href=\"" + Url.Action("Edit", "propertyOwner") + "/#= id#\"><span class='k-icon k-edit'></span>Edit</a>").Width(80).Title("Edit");
if (Roles.IsUserInRole(User.Identity.Name, "admin"))
{
columns.Command(commands =>
{
commands.Destroy(); // The "destroy" command removes data items
}).Title("Delete").Width(90);
}
//columns.Template(o => Html.ActionLink("Delete", "Delete", new { o.id })).ClientTemplate("<a class='blue' href=\"" + Url.Action("Details", "propertyOwner") + "/#= id#\"><i class='icon-zoom-in bigger-130'>Delete</i></a>").Width(65).Title("Details");
})
.ToolBar(toolbar =>
{
toolbar.Template(@<text>
<a class="k-button" href="/propertyOwner/Create"><span class="k-icon k-si-plus"></span></a>
</text>);
})
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.Groupable()
.HtmlAttributes(new { style = "height:900px;" })
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Read(read => read.Action("AjaxGrid", "propertyOwner"))
.Destroy(destroy => destroy.Action("Destroy", "propertyOwner"))
.Model(model =>
{
model.Id(m=>m.id); // Specify the property which is the unique identifier of the model
model.Field(m => m.id).Editable(false); // Make the ProductID property not editable
})
)
)
теперь я могу отобразить сообщение об ошибке, но все-таки запись удаляется из сетки, и это не освежающий – chamara
Для не получить его удалить, вы должны определить 'errors' функции, которые возвращают' true ', когда нет' error', ваша функция должна возвращать 'false'. См. Мой вопрос ** EDIT **. – OnaBai