为什么web.config中的全球化使fullcalendar不呈现事件

我看到的这个问题是在Mozilla中,但在IE中工作正常

我在document.ready的_calendar.cshtml局部视图中有这个

$.ajax({ type: "POST", contentType: "application/json", data: "{}", url: "/Home/GetEvents", dataType: "json", success: function (data) { $('#calendar').fullCalendar({ editable: false, eventColor: '#F09A18', textColor: 'white', lang: 'en-IN', eventLimit: 1, eventLimitText: 'More', weekMode: 'liquid', events: $.map(data, function (item, i) { var event = new Object(); event.start = new Date(item.StartDate); event.title = item.EventName; event.brief = item.EventBrief; return event; }), }); }, error: function (XMLHttpRequest, textStatus, errorThrown) { $("#cal_error").text(errorThrown); } }); 

如果我不在web.config文件中包含下面的代码,它会呈现事件

  

我也试过保持

  

但没有变化。 当我在web.config中包含全球化时,事件根本没有在Firefox中显示,但仍然可以在IE中正常工作。

以下是我在fullcalendar.js中的默认值

 titleRangeSeparator: ' \u2014 ', // emphasized dash monthYearFormat: 'MMMM YYYY', // required for en. other languages rely on datepicker computable option defaultTimedEventDuration: '02:00:00', defaultAllDayEventDuration: { days: 1 }, forceEventDuration: false, nextDayThreshold: '09:00:00', // 9am // display defaultView: 'month', aspectRatio: 1.35, header: { left: 'title', center: '', right: 'today prev,next' }, weekends: true, weekNumbers: false, weekNumberTitle: 'W', weekNumberCalculation: 'local', //editable: false, // event ajax lazyFetching: true, startParam: 'start', endParam: 'end', timezoneParam: 'timezone', timezone: 'local', //allDayDefault: undefined, // locale isRTL: false, defaultButtonText: { prev: "prev", next: "next", prevYear: "prev year", nextYear: "next year", today: 'today', month: 'month', week: 'week', day: 'day' }, buttonIcons: { prev: 'left-single-arrow', next: 'right-single-arrow', prevYear: 'left-double-arrow', nextYear: 'right-double-arrow' }, // jquery-ui theming theme: false, themeButtonIcons: { prev: 'circle-triangle-w', next: 'circle-triangle-e', prevYear: 'seek-prev', nextYear: 'seek-next' }, dragOpacity: .75, dragRevertDuration: 500, dragScroll: true, //selectable: false, unselectAuto: true, dropAccept: '*', eventLimit: false, eventLimitText: 'more', eventLimitClick: 'popover', dayPopoverFormat: 'LL', handleWindowResize: true, windowResizeDelay: 200 // milliseconds before an updateSize happens 

当我包含全球化标签时,fullcalendar会发生什么。 我也尝试将timeZone设置为‘local’‘UTC’ ,默认为false ,但即使这样也行不通? 任何人都可以帮我解决这个问题吗?

好。 谷歌搜索了这么多后,我找到了答案。

我只需要为事件设置如下日期:

  events: $.map(data, function (item, i) { var event = new Object(); event.start = moment(item.StartDate).utc(); event.title = item.EventName; event.brief = item.EventBrief; return event; }), 

这就像一个奇迹。 但是我必须保留我的web.config文件,如下所示

  

而不是

当我将它保持为culture =“en-IN”时,即使我使用时刻转换日期对象也无效。 仍在弄清楚原因,但暂时解决上述问题。