Fullcalendar Не отображает события MVC

#asp.net-mvc #model-view-controller #fullcalendar #fullcalendar-5

Вопрос:

Я сделал тестовую страницу, используя последнюю версию fullcalendar на тестовой странице, но она не будет отображать события в календаре, есть идеи?

 @{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Cal</title>
    <script src="https://cdn.jsdelivr.net/npm/fullcalendar@5.9.0/main.min.js"></script>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fullcalendar@5.9.0/main.min.css">
    <script>

        document.addEventListener('DOMContentLoaded', function () {
            var calendarEl = document.getElementById('calendar');
            var calendar = new FullCalendar.Calendar(calendarEl, {
                initialView: 'dayGridMonth',
                events: 'CalEvents/'
            });
            calendar.render();
        });

    </script>
</head>
<body>
    <div id='calendar'></div>
</body>
</html>
 

Это код контроллера:

 public ActionResult Cal()
{
   return View();
}

public JsonResult CalEvents()
{
   using (_context)
   {
       var events = _context.CalendarEventsNews.ToList();
       return Json(events.ToArray(), JsonRequestBehavior.AllowGet);

   }
}
 

Это и есть ответ:

 [{"id":1,"eventName":"Test","eventDescription":"Testing Description","eventLocation":"UK","startDate":"/Date(1633561200000)/","endDate":"/Date(1633730400000)/","allDay":false}]
 

Комментарии:

1. Ваше action действие-это действие ajax, но где находится вызов ajax в пользовательском интерфейсе? Вам нужно вызвать действие, получить данные, а затем отобразить их в пользовательском интерфейсе.

2. Я попробовал это и все равно получаю тот же вывод даты: Конец: «/Дата(1633561200000)/» Событие: 1 Полный день: фальстарт: «/Дата(1633474800000)/»

3. В основном проблема заключается в том, что ваши данные о событиях не соответствуют ожиданиям FullCalendar. Вам не приходило в голову проверить требования? fullcalendar.io/docs/event-parsing содержит список допустимых имен полей. В то время как все объекты находятся в технически необязательно, если вы реально не включают, как минимум, «название» и «старт» в собственность (убедитесь, начальная дата соответствует признается дата форматов, перечисленных в связанной документации), то это, безусловно, не сможем показать ваше мероприятие…если он не знает, где на календаре поставить, то это очень принципиальный вопрос.

Ответ №1:

Как отметил Адисон, проблема заключалась в том, что я просто неправильно просматривал документацию. Имена полей изменены и теперь работают нормально.

Еще раз спасибо Адисону за то, что указал на проблему.