Я использую FullCalendar для привязки событий от контроллера MVC. Для этого есть два варианта использования. Один для клиентов, и у них будет идентификатор клиента. Когда они загружают страницу календаря, календарь заполняется автоматически.
function initializeCalendar() {
var customerId = $("#CustomerId").val();
$("#calendar").fullCalendar({events: '/GetCalendar?customerId=' + customerId
}
Другой вариант использования предназначен для администраторов. У них будет раскрывающийся список для каждого клиента, и при выборе клиента он будет привязывать календарь к этому конкретному клиенту.
Первый вариант использования работает. Однако, когда я пытаюсь перепривязать календарь из события DDL onChange, выполняется действие контроллера MVC, и записи возвращаются как JSON, но календарь не обновляется.
Мое действие контроллера MVC возвращает данные JSON:
return this.Json(customers, JsonRequestBehavior.AllowGet);
Код jQuery для его вызова:
$.ajax({
method: 'GET',
url: uri + '/Admin/GetCustomers?customerId=' + customerId,
dataType: 'json',
contentType: 'application/json; encode=UTF-8',
success: function (d) {
if (d != null) {
$('#calendar').fullCalendar('refetchEvents');
}
}, error: function (xhr, status, error) { alert(xhr.responseText); }
});
Если я отлаживаю код jQuery, возвращаются правильные данные, но этоне отражая в календаре. Я также попытался полностью повторно инициализировать календарь в обратном вызове, но это также не сработало:
success: function (d) {
if (d != null) {
initializeCalendar();
}
Как правильно настроить календарь?