events: function (start, end, callback) {
var d = new Date(start._d);
var startdate = "";
if (d.getDate() == 01) {
startdate = d.getFullYear() + '-' + (d.getMonth() + 1) + '-01';
}
else
{
if (d.getMonth() == 11) {
startdate = (d.getFullYear() + 1) + '-01-01';
}
else {
startdate = d.getFullYear() + '-' + (d.getMonth() + 2) + '-01';
}
}
$.ajax({
type: "post",
url: "getCalendar",
dataType: "json",
data: {
start: startdate
},
success: function (data) {
var events = [];
$.each(data, function (i) {
events.push({
title: data[i].title,
start: data[i].start,
end: data[i].end,
Cal_content: data[i].Cal_content
})
})
callback(events);
}
});
}

events:[{title: "當日運動量", start: "2019-01-01 08:30:00", end: "2019-01-01 10:30:00", Cal_content: "運動量為:55公里"}]
如果直接加載數據的話,就可以正常顯示

解決辦法:
events: function (start, end,timezone, callback) {
只需要在events的function方法中再添加一個參數,我用的是最新版本的fullcalendar控件,所有數據都正常顯示了。
以前只知道js是弱語音,這次算是領教了。
正確打印一下callback

不再是callback不是一個function了。

fullcalendar控件,prev: 根據view的不同, 返回上一月/周/天;next: 根據view的不同, 返回下一月/周/天。
prev和next兩個按鈕,點擊之后,不是單獨寫點擊事件來加載各個日程的,直接在events中寫ajax方法。
嘗試過的方法:
@*events:
@{
Html.RenderAction("getCalendar");
}*@
//events:
//[{ "title": "日記簿", "start": "2018-12-12 03:00:00", "end": "2018-12-12 03:30:00", "Cal_content": "買鞋子" }
//, { "title": "日記簿", "start": "2018-12-14 06:00:00", "end": "2018-12-14 12:00:00", "Cal_content": "單位上班" }
//, { "title": "日記簿", "start": "2018-12-23 10:00:00", "end": "2018-12-23 11:30:00", "Cal_content": "買菜做飯" }]
//events:
//{
// // 屬性里面不能寫邏輯,應該在function方法里面寫邏輯
// //var aastart = $.fullCalendar.formatDate(event.start, "HH:mm");
// // var fend = $.fullCalendar.formatDate(event.end, "HH:mm");
// url: 'getCalendar'
//}
