#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();
});
}