如何让fullcalendar在一次调用中从我的mvc json提要中获取所有事件



这个问题的两个部分首先,使用简单的例子,我如何获得fullcalendar来从我的JSON提要中获取所有事件,而不需要来回分页?我的日历是短期的,非常具体,所以在滚动日期时不需要重新加载事件。以下是操作方法:

public JsonResult CalendarData(int id)
{
    List<object> json = new List<object>();
    json.Add(
        new
        {
            title = "Click for Google",
            start = string.Format("/Date({0})/", DateTime.Now.ToUnixTime()),
            end = string.Format("/Date({0})/", DateTime.Now.AddDays(1).ToUnixTime()),
            url = "http://google.com/"
        });
    return this.Json(json, JsonRequestBehavior.AllowGet);
}

这是我用来尝试在一个调用中恢复所有事件的JS:

$(document).ready(function () {
    $('#calendar').fullCalendar({
        editable: false,
        events: "{controller}/calendardata/1",
        loading: function (bool) {
            if (bool) $('#loading').show();
            else $('#loading').hide();
        }
    });
});

我问题的第二部分是我应该返回什么日期格式(不确定我目前的格式是否正确?

感谢

我还没有尝试过,但我怀疑您可以使用jQuery getJSON来获取数据,然后使用fullcalendar事件和/或eventsource属性来设置事件。看起来像这样:

$.getJSON($("#calendarUri").val(), function(data) {
    $("#calendar").fullCalendar(
        {
            events: data
        }
    )
});

我相信,当你以这种方式设置事件时,它应该在几个月、几周等时间内使用相同的事件数据。

那么在你看来:

@Hidden("calendarUri", Url.Action("CalendarData", new { id = 1 }))

请注意,通过在视图中使用隐藏字段来存储事件提要的URL,如果更改路由,就不会遇到麻烦。

本文对事件中显示的完整日历json值非常有用。

@Html.Hidden("calendarUri", Url.Action("LoadCalendarData","Home"))
jq.getJSON($("#calendarUri").val(), function (data) {
    jq('#calendar').fullCalendar({
        header: {
            //left: 'prev,next today',
            left: 'prev',
            center: 'title',
            //right: 'month,agendaWeek,agendaDay'
            right: 'next',
            height: '650',
        },
        defaultDate: '@currentDate',
        editable: true,
        eventLimit: true, // allow "more" link when too many events
        events: data
    });

});

相关内容

  • 没有找到相关文章

最新更新