[英]Displaying data on Full Calendar using Ajax not displaying records
我创建了一个完整的日历并使用 ajax 从数据库表中填充事件。
我可以显示图表,但它没有从数据库中填充事件,而是显示今天的日期和时间,并且只显示一个事件。
我不确定我做错了什么。
我正在关注本教程: http : //www.dotnetawesome.com/2017/06/event-calendar-in-aspnet-mvc.html
我的布局页面中的脚本
<script>
$(document).ready(function () {
var events = [];
$.ajax({
type: "GET",
url: "/Calendar/Schedules",
success: function (data) {
$.each(data, function (i, v) {
events.push({
title: v.Subject,
description: v.Description,
start: moment(v.Start),
end: v.EndTime != null ? moment(v.EndTime) : null,
color: v.ThemeColor,
allDay: v.IsFullDay
});
})
GenerateCalender(events);
},
error: function (error) {
alert('failed');
}
})
function GenerateCalender(events) {
$('#calender').fullCalendar('destroy');
$('#calender').fullCalendar({
contentHeight: 400,
defaultDate: new Date(),
timeFormat: 'h(:mm)a',
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicWeek,basicDay,agenda'
},
eventLimit: true,
eventColor: '#378006',
events: events
})
}
});
</script>
Calendar Controller下的get方法
public JsonResult Schedules()
{
var schedules = _context.Schedules.ToList();
var result = new JsonResult(new { Data = schedules});
return new JsonResult(result.Value);
}
但是它没有从数据库中填充事件
请注意,您正在学习ASP.NET Classic而不是ASP.NET Core的旧教程。 我们返回JsonResult
的方式已经改变:
\n公共 JsonResult Schedules()\n {\n var schedules = _context.Schedules.ToList();\n \n\nvar result = new JsonResult(new { Data = schedules});\n\n \n\n返回新的 JsonResult(result.Value);\n\n 返回新的 JsonResult(schedules);\n }\n
今天,我们不再需要为JsonResult
指定Data
属性。 相反,只需通过new JsonResult(the_data)
构造一个JsonResult
。
第二个问题是,如果您使用的是 ASP.NET Core 3.1,默认情况下返回的 json 是Camel-Cased 。 但是,您的 javascript 代码很可能假定服务器返回的 JSON 是Pascal-Cased 。 如果是这种情况,请更改您的 js 代码如下:
\n事件.推送({\n \n\n标题:诉主题,\n\n 标题: v.subject,\n \n\n描述: v. 描述,\n\n 描述: v. 描述,\n \n\n开始:时刻(v.Start),\n\n 开始:时刻(v.start),\n \n\n结束: v.EndTime != null ?时刻(v.EndTime):空,\n\n 结束: v.endTime != null ? 时刻(v.endTime):空,\n \n\n颜色:v.ThemeColor,\n\n 颜色:v.themeColor,\n \n\nallDay: v.IsFullDay\n\n 全天:v.isFullDay\n });\n
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.