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'方法中也會發生什麼?對? –