调用服务器方法时如何访问Kendo.Grid()行ID

时间:2019-05-23 15:59:59

标签: asp.net-mvc kendo-grid

我有Kendo Grid。它具有许多列,其中之一是ID卷积。我正在寻找在Destroy事件中将此ID发送给控制器的方法。

这是网格:

  @(Html.Kendo().Grid<TicketReportPropertyEntity>()
    .Name("TicketReportPropertyGrid")
    .Columns(columns =>
    {
        columns.Bound(c => c.ID).Hidden();
        columns.Bound(c => c.PropertyName).Title("Property Name").EditorTemplateName("_PropertyNameEditor").Width(900);
        columns.Bound(c => c.Amount).Title("Amount").Format("{0:C}").Width(90);
        columns.Command(command =>
        {
            command.Destroy();
        }).Width(250);
    })
        .ToolBar(toolbar =>
        {
            toolbar.Create();
            toolbar.Save();
        })
        .Editable(editable => editable.Mode(GridEditMode.InCell).ConfirmDelete("Are you sure").DisplayDeleteConfirmation("Delete"))
        .Events(events => events.DataBound("Databound").SaveChanges("SaveGrid").Edit("Edit"))
        .DataSource(datasource => datasource
            .Ajax()
            .Batch(true)
        //.PageSize(20)
            .Model(model =>
            {
                model.Id(c => c.ID);
                model.Field(c => c.PropertyName);
                model.Field(c => c.Amount);
            })
        //.Events(events => events.Error("error_handler"))
            .Read(read => read.Action("GetData", "TicketReportProperty", Model))
            .Update(update => update.Action("UpdateTicketReportProperty", "TicketReportProperty"))
            .Destroy(delete => delete.Action("DeleteTicketReportProperty", "TicketReportProperty"))
        )
)

如何在Destroy事件中将ID值发送给控制器?

1 个答案:

答案 0 :(得分:0)

在“ DeleteTicketReportProperty”中调用的destroy事件应该具有删除TicketReportProperty的功能。除了将视图模型传递给方法外,您不需要传递给它。 正如Carsten Franke所说,您不需要将ID字段作为值添加到表中,只需将ViewModel传递到您的方法中,然后根据该ViewModel ID删除相应的Model。

_yourDb.Delete(viewModel.ID);