Полный календарь, как отобразить идентификатор события после добавления нового события

#jquery #html #fullcalendar

#jquery #HTML #полный календарь

Вопрос:

Итак, я использую Fullcalendar для своего решения для календаря.

Я отображаю свои события из базы данных, используя приведенное ниже:

 events: "/Job/GetJobCalendarEvents?jobId="   jobId
  

Код, который предоставляет события, выглядит следующим образом:

         List<CalendarAppointment> apps = new List<CalendarAppointment>();
        foreach (var id in interviewDates)
        {
            apps.Add(new CalendarAppointment()
            {
                id = id.Id,
                title = "Selected Interview Date",
                start = Convert.ToDateTime(id.StartTime).ToString("s"),
                end = Convert.ToDateTime(id.EndTime).ToString("s"),
                allDay = false,
                dismiss = false,
                className = "css-cal js-cal-obj js-cal-obj-"   id.Id
            });
        }

        var appArr = apps.ToArray();

        var jsonResult = Json(appArr, JsonRequestBehavior.AllowGet);
        jsonResult.MaxJsonLength = int.MaxValue;
        return jsonResu<
  

Итак, это нормально, и события отлично отображаются на странице.

С чем я действительно борюсь, так это с тем, как получить доступ к идентификатору события в самом слоте календаря.

Мое событие щелчка по дате, как показано ниже:

             dateClick: function (info) {
                $.post("/Job/SaveInterview", { jobId: jobId, date: info.dateStr, duration: interviewDuration })
                 .done(function (data) {
                     calendar.refetchEvents();
                 });
            }
  

Что мне нужно, так это иметь возможность щелкнуть по событию и отправить запрос обратно на мой контроллер с идентификатором, чтобы я мог удалить.

У кого-нибудь есть идеи?

Ответ №1:

В конце концов, решил это, смотрите, как ниже…

             eventClick: function (info) {
                $.post("/Job/RemoveInterviewSlot", { slotId: Number(info.event.id) })
                    .done(function (data) {
                        calendar.refetchEvents();
                    });
            }