Новые события планировщика кендо не вызывают методы контроллера

Я пытаюсь добавить новое событие планировщика в базу данных. Он добавляется в источник данных планировщика и отображается в планировщике, но не вызывает метод Create контроллера. Редактируйте или удаляйте вновь добавленное событие, также не вызывайте методы контроллера, а меняйте источник данных.

Уже существующие события работают хорошо.

Модель:

public class ResourceSchedulerModel : ISchedulerEvent
{
    public string Title { get; set; }
    public DateTime Start { get; set; }
    public DateTime End { get; set; }
    public string Description { get; set; }
    public bool IsAllDay { get; set; }
    public string RecurrenceRule { get; set; }
    public string RecurrenceException { get; set; }
    public string EndTimezone { get; set; }
    public string StartTimezone { get; set; }
    public int BTS_Id { get; set; }

    public ResourceSchedulerModel() { }

    public ResourceSchedulerModel(BusyTimeSlot bts)
    {
        BTS_Id = bts.BTS_Id;
        Start = bts.BTS_From;
        End = bts.BTS_To;
        Title = bts.BTS_Name;
        Description = bts.BTS_Description;
        ResId = bts.BTS_RES_Id;
    }
}

Методы контроллера:

    public virtual JsonResult Read([DataSourceRequest] DataSourceRequest request)
    {
        EntityWrapper ew = new EntityWrapper();
        List<BusyTimeSlot> btss = ew.GetAllBusyTimeSlots();
        List<ResourceSchedulerModel> sm = new List<ResourceSchedulerModel>();
        foreach (BusyTimeSlot b in btss)
            sm.Add(new ResourceSchedulerModel(b));
        return Json(sm.ToDataSourceResult(request));

    }

    public virtual JsonResult Destroy([DataSourceRequest] DataSourceRequest request, ResourceSchedulerModel task)
    {
        if (ModelState.IsValid)
        {
           // delete
        }

        return Json(new[] { task }.ToDataSourceResult(request, ModelState));
    }

    public virtual JsonResult Create([DataSourceRequest] DataSourceRequest request, ResourceSchedulerModel task)
    {
            if (ModelState.IsValid)
            {
                //add
            }

            return Json(new[] { task }.ToDataSourceResult(request, ModelState));
    }

    public virtual JsonResult Update([DataSourceRequest] DataSourceRequest request, ResourceSchedulerModel task)
    {
        if (ModelState.IsValid)
        {
           // edit
        }

        return Json(new[] { task }.ToDataSourceResult(request, ModelState));
    }

Вид:

@(Html.Kendo().Scheduler<SchedulerTry.Models.ResourceSchedulerModel>()
    .Name("scheduler")
    .Date(new DateTime(2014, 10, 11))
    .MinorTickCount(1)
    .Views(views =>
    {
        views.DayView();
        views.WeekView(weekView => weekView.Selected(true));
        views.MonthView();
        views.AgendaView();
    })
    .DataSource(d => d
        .Model(m => {
            m.Id(f => f.BTS_Id);
            m.Field(f => f.Title).DefaultValue("No title");
        })
        .Read("Read", "Resource")
        .Create("Create", "Resource")
        .Destroy("Destroy", "Resource")
        .Update("Update", "Resource")
    )

)

Кроме того, когда я пытаюсь закрыть или отменить окно редактирования нового события, я получаю сообщение об ошибке

Uncaught TypeError: Cannot read property 'BTS_Id' of undefined kendo.all.min.js:11

person dWooGi    schedule 18.08.2014    source источник


Ответы (2)


Попробуйте обновить BTS_Id, как показано ниже:

    public int bTS_Id;
    public string BTS_Id 
    {
        get
        {
            return bTS_Id;
        }
        set
        {
            bTS_Id = value;
        }
    }
person D_Learning    schedule 19.08.2014
comment
Это не работает. Новые события по-прежнему не работают, а старые при обновлении выдают внутреннюю ошибку сервера. Кстати, ваш код нужно преобразовать. - person dWooGi; 20.08.2014

Плохо, у меня есть еще один метод Create в контроллере.

person dWooGi    schedule 20.08.2014