Мне не удается получить jquery-плагин FullCalendar для привязки к массиву Json, полученному из действия ASP.NET MVC3.
Я удалил почти все из кода, чтобы попытаться найти решение проблемы; Я остаюсь с этим, который из всех прочитанных SO и постов в блоге должен работать:
Действие (Контроллер календаря)
public JsonResult Events(double start, double end)
{
var rows = new object[] { new { title="Event1", start= "2011-04-04" },
new { title="Event2", start= "2011-04-05" } };
return Json(rows, JsonRequestBehavior.AllowGet);
}
View
<script type='text/javascript'>
$(document).ready(function () {
$('#calendar').fullCalendar({
events: '@Url.Content("~/Calendar/Events")'
})
});
Результатом является пустой календарь, без связанных событий. Я подтвердил, что Json восстанавливается:
Результат Json
[{"title":"Event1","start":"2011-04-04"},{"title":"Event2","start":"2011-04-05"}]
И это прекрасно работает:
$(document).ready(function () {
$('#calendar').fullCalendar({
events: [{title: 'Event1',start: '2011-04-04'},
{title: 'Event2',start: '2011-04-05'}
]});
});
Я попытался использовать все количество форматов даты (включая метки времени ISO8601 и * nix) и получил тот же результат: никаких связанных событий, просто пустой календарь. Если я добавлю функцию $ .ajax: функцию к объекту .fullCalendar, он срабатывает, так что, вероятно, что-то не так с возвращением Json - но для меня это выглядит прекрасно.
Я использую FullCalendar 1.5 (хотя я тоже пробовал 1.4.11), JQuery 1.5.1, JQueryUI 1.8.11.
Я перепробовал все, что мог придумать - любые идеи очень ценятся!