使用Ajax在完整日历上显示数据不显示记录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Ajax在完整日历上显示数据不显示记录相关的知识,希望对你有一定的参考价值。
我创建了完整日历,并使用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>
日历控制器下的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
的方式为changed:公共JsonResult Schedules()var schedules = _context.Schedules.ToList();
var result = new JsonResult(new Data = schedules);返回新的JsonResult(result.Value);返回新的JsonResult(schedules);[今天,我们不再需要为
Data
指定一个JsonResult
属性。相反,只需通过JsonResult
构造一个new JsonResult(the_data)
。第二个问题,如果您使用的是ASP.NET Core 3.1,默认情况下返回的json是Camel-Cased。但是,您的javascript代码很可能假定服务器返回的JSON为Pascal-Cased。如果是这种情况,请如下更改您的js代码:
events.push(
标题:v.Subject,标题:v.subject,说明:v.Description,说明:v.description,开始:moment(v.Start),开始:时刻(v。开始),end:v.EndTime!= null? moment(v.EndTime):null,结束:v.endTime!= null? moment(v.endTime):null,颜色:v.ThemeColor,颜色:v.themeColor,allDay:v.IsFullDayallDay:v.isFullDay);
以上是关于使用Ajax在完整日历上显示数据不显示记录的主要内容,如果未能解决你的问题,请参考以下文章