Fullcalendar不在客户端中呈现事件

问题描述 投票:1回答:1

我正在尝试制作一个显示所有工作日和活动的日历,而不考虑它是哪个日期。来自数据库的日期是“随机的”,在C#代码中我获得当前周并将每个“随机”日期与当前周的相应日期相关联(因此用户不会)(公共DateTime AssimilarDataAoDiaSemana(字符串dia,列出dts))。

我有这个C#代码https://pastebin.com/ipe4t8Pa,它返回一个JSON,例如:

{
    "events":[
     {
         "title": "VIP",
         "start": "2018-03-03 10:00:00",
         "end": "2018-03-03 11:00:00",
         "allDay": false
     },
     {
         "title": "ALMANAQUE DA CACAU",
         "start": "2018-02-25 17:00:00",
         "end": "2018-02-25 18:00:00",
         "allDay": false
     }
    ]
}

这是我的javascript

function Grade() {
if (VerificarURL("programacao")) {
    var cal = $("#calendario").fullCalendar({
        events: {
            url: "/programacao/calendario",
            dataType: "json",
            type: "GET",
            success: function (data) {
                console.log(data);
            },
            color: "white",
            textColor: 'white'
        },
        columnHeaderFormat: "dddd",
        handleWindowResize: true,
        header: false,
        height: "auto",
        defaultView: "agendaWeek",
        editable: false,
        minTime: "06:00",
        maxTime: "24:00",
        displayEventTime: false,
        allDaySlot: false,
        allDayText: false,
        timeFormat: "HH(:mm)",
        slotLabelFormat: "HH:mm",
    });
}
}

问题是:事件不会在客户端呈现。有任何想法吗?

javascript c# json asp.net-mvc fullcalendar
1个回答
0
投票

很简单,您返回的JSON格式与fullCalendar所期望的格式不兼容。您只需要返回事件数组,而不会将对象包裹起来。您的活动数据只需要如下所示:

[
     {
         "title": "VIP",
         "start": "2018-03-03 10:00:00",
         "end": "2018-03-03 11:00:00",
         "allDay": false
     },
     {
         "title": "ALMANAQUE DA CACAU",
         "start": "2018-02-25 17:00:00",
         "end": "2018-02-25 18:00:00",
         "allDay": false
     }
]

fullCalendar期望JSON是一个数组。如果你按照你的例子返回一个对象,它不知道在里面查找数组,并且只假设没有事件。

如果您稍微修改C#代码以生成此输出,它应该可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.