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 上不显示已删除的外部事件