Kendo ui 如何在剑道网格中的OnAthletGridSave/OnAthletGridEdit中获取操作类型

Kendo ui 如何在剑道网格中的OnAthletGridSave/OnAthletGridEdit中获取操作类型,kendo-ui,kendo-grid,Kendo Ui,Kendo Grid,我有一个剑道格网如下 <% Html.Kendo().Grid<MaintenanceAthletesAthleteGridViewModel>() .Name("Athletes") .HtmlAttributes(new { style = "height:435px" }) .DataSource(dataSource => dataSource .Ajax() .Model(model => model.Id(a => a.Re

我有一个剑道格网如下

<% Html.Kendo().Grid<MaintenanceAthletesAthleteGridViewModel>()
.Name("Athletes")
.HtmlAttributes(new { style = "height:435px" })
.DataSource(dataSource => dataSource
      .Ajax()
      .Model(model => model.Id(a => a.ResourceId))
      .Events(e => e.RequestEnd("onRequestEnd"))
      .Create(create => create.Action("InsertAthlete", "Maintenance"))
      .Read(read => read.Action("AthletesMaintenanceAthleteGridAjax", "Maintenance"))
      .Update(update => update.Action("UpdateAthlete", "Maintenance").Data("onAthleteGridUpdate"))
      .Destroy(destroy => destroy.Action("DeleteAthlete", "Maintenance").Data("onAthleteGridUpdate"))
   )
.Events(events => events
                .Save("onAthleteGridSave")
                .Edit("onAthleteGridEdit")
        )
...
%>

function onRequestEnd(e)
{
    if (e.type == "insert" || e.type == "update" || e.type == "destroy") {
        $("#Athletes").data("kendoGrid").dataSource.read();
    }
}

function onAthleteGridSave(e)
{            
    if (e.type == "insert")
    { ...}
}

function onAthleteGridEdit(e)
{            
    if (e.type == "insert")
    { ...}
}

但是,OnAthletegridsave和onAthleteGridEdite中的e.type是未定义的,而onRequestEnde中的e.type是可以的。我的问题是如何在e中或OnAthletGridSave/OnAthletGridEdit中的任何其他位置查找操作类型,如插入或更新。谢谢

您正在操作网格中的两个对象和一个数据源。两者都有自己的事件集及其参数

网格触发的事件 数据源触发的事件 所以,在数据源的RequestEnd中作为参数接收的内容不适用于网格的保存或编辑

您需要更改如下功能:

function onAthleteGridSave(e)
{            
    if (e.model.isNew()) {
    }
    else {
    }
}