私は削除コマンドで剣道グリッドを持っています。削除をクリックし、グリッドの左上にある [変更を保存] をクリックすると、実際のデータがサーバーに送信されません。データにはキー/作成日/その他のフィールドがあります。大田サービスを利用しました。デバッグ モードでは、キー = 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();
}
}
}