В планировщике кендо есть несколько вариантов событий, которые могут произойти.Планировщик 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, который вставляет новую строку в таблице.
Если есть события, которые я хочу изменить. Я дважды щелкаю по событию, меняю информацию об этом и нажимаю save.
Я попытался отладки кода с некоторыми контрольными точками, но обновление никогда не вызывается. Вместо этого он снова вызывает метод create.
Я могу однако добавить следующий код в метод 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));
}
Без проверки на идентификатор равным «Null» он продолжает добавлять каждый запрос когда-либо сделал так после добавления 3 события, которые фактически добавляет 6 новых событий.
Эта проверка работает для создания новых событий, но когда я обновляю событие, оно сканирует все события exisitng до тех пор, пока идентификатор не будет найден, и когда он будет найден, он будет изменен. Это не проблема с самого начала, но она становится одной, когда в планировщик добавляется много событий.
Как заставить Планировщика вызывать мой метод обновления при изменении вместо вызова метода create?
Но если идентификатор не является нулевым, это означает его право на обновление? else create .. Я не получил ваш этот оператор ', но когда я обновляю событие, он сканирует все события exisitng до тех пор, пока не будет найден идентификатор, и когда он будет найден, он будет изменен.' –
, если task.ID не равен нулю, это означает он имеет идентификатор. когда я отлаживаю планировщик и прохожу через шаги 1 к 1, он проходит через все существующие события в базе данных до тех пор, пока не найдет тот, у кого тот же идентификатор, а затем обновит это конкретное событие. –
, но это произойдет даже в вашем методе «Обновить»? правильно? –