ASP.jQuery完整日历JSON日期时间格式



我正在使用asp.net mvc 3实现FullCalendar jquery。工作正常,但事件没有返回到日历中。Firebug控制台告诉我它们肯定会被退回,它们只是没有出现在日历上。我认为这是与日期格式有关,我已经阅读了,但不能得到任何工作。这是我的控制器;

public ActionResult CalendarData()
{
    DateTime myDate = DateTime.Now;
    var eventlist = from e in db.WhatsOns
                    where e.start >= myDate && e.CalenderDisplay
                    select e;
    return Json(eventlist.ToArray(), JsonRequestBehavior.AllowGet); 
}

和javascript in my view;

<script type="text/javascript">
    $(document).ready(function() {            
       $('#calendar').fullCalendar({
    theme: true,
    header: {
        left: 'prev,next today',
       center: 'title',
        right:''
    },
    defaultView: 'month',
    editable: false,
     events: "/WhatsOn/CalendarData"
   });
}); 
</script>

控制台输出如下;

[{"ID":1,"start":"/Date(1312844400000)/","end":"/Date(1313103600000)   /","Name":"Test","Desc":"This is a test event, it will be       great!","link":"http:www.link./com","CalenderDisplay":true,"day":null,"whtscount":0,"isActive":false},{"ID":2,"start":"/Date(1313708400000)/","end":"/Date(1314054000000)/","Name":"This another test event5, itu0027s on later than the first one.","Desc":"We aere all gpoing to get together and drink,","link":"http:www.link./com","CalenderDisplay":true,"day":null,"whtscount":0,"isActive":false}]

我最近遇到了同样的问题,不是.net原生的,但可能是相同的问题-

完整日历要求数组的每个元素至少有明确定义的标题和开始索引。

换句话说,我没有得到显示的事件,直到我格式化json我的动作返回到这样的东西(这是json从我的应用程序的工作):

events: [
    0: {sessionId:259, title:Completed regular, start:2011-08-08}
    1: {sessionId:260, title:Completed regular, start:2011-08-10}
    2: {sessionId:261, title:Not done, start:2011-08-12}
    3: {sessionId:262, title:Not done, start:2011-08-13}
    4: {sessionId:263, title:Not done, start:2011-08-15}
    5: {sessionId:264, title:Not done, start:2011-08-17}
]

希望有帮助,

欢呼

您将发现JSON规范不支持序列化datetime类型对象,因此考虑到您最接近的可交换表示,我建议将日期作为字符串传输(我不得不在最近启用ajax的应用程序中使用这种解决方案)。使用。net的Date. parse()方法处理由JavaScript Date. toutcstring()生成的字符串,并使用本机。net Date. tostring()方法生成的字符串调用JavaScript的Date构造函数,我就能够在。net应用程序和JavaScript之间轻松交换日期时间数据。我建议这样做。

请记住,如果您支持日期时间本地化,而您的服务器时区与应用程序用户的时区不同,则应用程序可能需要数据存储中的UTC时间表示。我建议在调用。net的ToString()进行时间本地化时使用RFC1123模式说明符。JavaScript的Date构造函数可以很容易地解析这种格式。

相关内容

  • 没有找到相关文章

最新更新