Fullcalendar 不显示事件 MVC

Posted

技术标签:

【中文标题】Fullcalendar 不显示事件 MVC【英文标题】:Fullcalendar Not Displaying Events MVC 【发布时间】:2021-11-27 09:48:22 【问题描述】:

我在测试页面上使用最新的完整日历制作了一个测试页面,但它不会在日历中显示事件,有什么想法吗?

@
    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]

【问题讨论】:

您的 action 是一个 ajax 操作,但 UI 上的 ajax 调用在哪里?您需要调用操作,获取数据,然后在 UI 上呈现。 我已经尝试过了,仍然得到相同的日期输出: End: "/Date(1633561200000)/" EventID: 1 IsFullDay: false Start: "/Date(1633474800000)/" 主要问题是您的事件数据与 fullCalendar 期望的不匹配。你有没有想过检查要求? fullcalendar.io/docs/event-parsing 列出有效的字段名称。虽然所有属性技术上都是可选的,但实际上,如果您不包括至少“标题”和“开始”属性(确保开始日期符合以下所列的公认日期格式)链接的文档)那么它肯定无法显示您的活动......如果它不知道在日历上的哪个位置放置活动,那么这是一个非常基本的问题。 【参考方案1】:

正如 ADyson 指出的那样,问题在于我根本没有正确阅读文档。字段名称已更改并且现在可以正常工作。

再次感谢 ADyson 指出问题。

【讨论】:

以上是关于Fullcalendar 不显示事件 MVC的主要内容,如果未能解决你的问题,请参考以下文章

FullCalendar ResourceViews 上不显示已删除的外部事件

FullCalendar活动弹出按钮单击“不工作”

Fullcalendar不显示数据库中的事件

FullCalendar 事件弹出按钮单击不起作用

如何使用ajax更改事件对象后刷新fullcalendar v4

[fullcalendar]让 listMonth 显示比月份更多的详细信息