Jquery Fullcalendar,如何动态地将传递的参数更改为eventSource?

Jquery Fullcalendar,如何动态地将传递的参数更改为eventSource?,jquery,fullcalendar,Jquery,Fullcalendar,我有以下代码来获取事件: var eventSource = { url: 'api/events/get/byrange', data: { id: typeof($scope.calendar) == 'undefined' ? '1' : '2' } }; typeof($scope.calendar)==“未定义”的问题1':“2”只计算一次,并且它传递相同的id。如

我有以下代码来获取事件:

    var eventSource = {
            url: 'api/events/get/byrange',
            data: {
                id: typeof($scope.calendar) == 'undefined' ? '1' : '2'
            }
    };
typeof($scope.calendar)==“未定义”的问题1':“2”
只计算一次,并且它传递相同的
id
。如何使它在每次调用时再次计算此表达式?

您需要编写

{
      url: 'api/events/get/byrange',
      data: {
           id: typeof($scope.calendar) == 'undefined' ? '1' : '2'
      }
};
不在变量
var eventSource
中设置它。相反,只需在FullCalendar初始化中附加这段代码

但是,我不使用这种方法。相反,我对返回对象列表的操作执行JSON请求

Javascript:

$.getJSON('GetCalendar?TrainingId=' + $('#TrainingId').val(), function (response) {
    $('#CalendarWrapper').empty();
    $('#CalendarWrapper').append("<div id='calendar' name='calendar'></div>");
    window.events = response;
    window.calendar = $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay' //, basicWeek,basicDay
        },
        selectHelper: true,
        allDaySlot: false,
        slotDuration: '00:15:00',
        buttonIcons: true, // show the prev/next text
        weekNumbers: false,
        editable: true,
        selectOverlap: true,
        unselectAuto: true,
        eventLimit: true, // allow "more" link when too many events
        lang: GetFullCalendarLanguage(),
        aspectRatio: 2.5,
        events: window.events,
    });

    _CalendarBuild = true;
})
完整日历:

public class FullCalendar
{
    public virtual string title { get; set; }

    public virtual string url { get; set; }

    public virtual DateTime Day { get; set; }

    public virtual string start { get; set; }

    public virtual string end { get; set; }

    public virtual bool startEditable { get; set; }
}

当我想再次渲染时,我只需再次调用javascript(放在函数中)。

您能创建两个源代码,然后以编程方式显示或隐藏它们吗?与此类似:
public class FullCalendar
{
    public virtual string title { get; set; }

    public virtual string url { get; set; }

    public virtual DateTime Day { get; set; }

    public virtual string start { get; set; }

    public virtual string end { get; set; }

    public virtual bool startEditable { get; set; }
}