1

我有带有删除命令的剑道网格。当我单击删除然后单击网格左上方的“保存更改”时,实际数据不会发送到服务器。数据具有键/创建日期/其他字段。我使用了 Odata 服务。在调试模式下,key = 0 并且创建日期 = 1/1/0001。有人知道这里发生了什么吗?

@(Html.Kendo().Grid<OData.proxySvc.table1>()
            .Name("MyGrid")
            .Columns(columns =>
            {
                columns.Bound(f => f.key).Visible(false);
                columns.Bound(f => f.UserName).Title("Name");

                columns.Command(command => { 
                    command.Destroy();
                }).Title("Action").Width(90); 

            })
            .ToolBar(toolbar =>
            {                    
                toolbar.Save();
            })
            .Editable(editable => editable.Mode(GridEditMode.InCell))
            .Sortable()
            .Scrollable(s => s.Height("100px"))
            .Filterable()
            .DataSource(ds => ds
                .Ajax()                    
                .Batch(true)
                .ServerOperation(false)
                .Model(model => model.Id(p => p.key))

                .Destroy("Delete","Home")                                         
            ))

在控制文件中,有动作:

// 没有 [Httppost] 属性。如果 [HttpPost] 属性存在,则不会触发事件

public ActionResult Delete([DataSourceRequest]DataSourceRequest request, 
                     [Bind(Prefix = "models")]IEnumerable<table1> tbl1)
    {            
        var context = CreateOdataServiceContext();

        foreach (var t1 in tbl1)
        {
            var x = context.table1.Where(r => r.key == t1.key).FirstOrDefault();
            if (x!=null)
    {
                 context.DeleteObject(x);
                 context.SaveChanges();
    }
        }
    }
4

0 回答 0