完整日历,添加新事件后如何呈现事件ID

时间:2019-03-28 13:59:49

标签: jquery html fullcalendar

所以我在日历解决方案中使用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 jsonResult;

这很好,事件在页面上的显示也很好。

我真正想解决的是如何访问日历插槽本身上的事件ID。

我的日期点击事件如下:

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

我需要的是能够单击该事件,并使用ID将请求发送回我的控制器,以便我可以删除。

有任何想法吗?

1 个答案:

答案 0 :(得分:1)

最终解决了,请参阅下面的内容...

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