0
kendo调度程序对可能发生的事件有一些选项。Kendo调度程序从不调用更新方法MVC 5
.Model(m =>
{
m.Id(f => f.TaskID);
m.Field(f => f.Title).DefaultValue("No title");
m.Field(f => f.OwnerID).DefaultValue(1);
m.Field(f => f.Title).DefaultValue("No title");
m.RecurrenceId(f => f.RecurrenceID);
})
.Read("Read", "Agenda")
.Create("Create", "Agenda")
.Destroy("Destroy", "Agenda")
.Update("Update", "Agenda")
.Filter(filters =>
{
filters.Add(model => model.OwnerID).IsEqualTo(1).Or().IsEqualTo(2);
})
Read方法还给从数据库中我的成绩很好,当我尝试插入一个新的事件来调度它要求创建方法,插入新行的表。
如果有我想要编辑的现有事件。我双击事件,更改它的信息并按保存。
我试图调试一些断点的代码,但更新不会被调用。相反,它会再次调用create方法。
我可以然而添加以下创建方法:
public virtual JsonResult Create([DataSourceRequest] DataSourceRequest request, EventModel task)
{
if (ModelState.IsValid)
{
if (task.ID == null)
{
// Create an event
AllQueries.InsertEvent(task);
}
else
{
AllQueries.UpdateEvent(task);
}
}
return Json(new[] { task }.ToDataSourceResult(request, ModelState));
}
未经检查的ID等于“空”,它不断增加做过这样每一个请求增加3个事件后,实际上增加了6个新事件。
此检查适用于创造新的事件,但是当我更新的事件,它会扫描所有低谷事件exisitng直到的ID相匹配,当它发现它得到改变。这在开始时是没有问题的,但是当大量事件被添加到调度器时,它就成为了一个问题。
如何让调度程序调用Update方法而不是调用create方法?
但是,如果ID不为空,这意味着它的更新权?否则创建..我没有得到你的这条语句'但是当我更新事件时,它会扫描所有存在的事件,直到id匹配,并且当它被发现时它会被改变。' –
如果task.ID不等于null,它意味着它有一个ID。当我调试调度器并通过步骤1时,它会遍历数据库中的所有现有事件直到它找到具有相同ID的那个事件,然后更新该特定事件。 –
但即使在你的'Update'方法中也会发生什么?对? –