2010-07-21 103 views
2

我很高興看到像fullcalendar這樣的日曆插件。我正在嘗試使用fullcalendar來顯示每個月的事件。但事件不會顯示在日曆上。Jquery fullcalendar未顯示活動

我的代碼是:

[AcceptVerbs(HttpVerbs.Get)] 
public JsonResult HighlightCalendar() 
{ 
    var tasksList = new List<HighlightMonthlyEvents>(); 

    tasksList.Add(new HighlightMonthlyEvents 
    { 
     id = 1, 
     EventName = "Google search", 
     EventStartDate = ToUnixTimespan(DateTime.Now), 
     EventEndDate = ToUnixTimespan(DateTime.Now.AddHours(4)), 
     url = "www.google.com" 
    }); 
    tasksList.Add(new HighlightMonthlyEvents 
    { 
     id = 1, 
     EventName = "Bing search", 
     EventStartDate = ToUnixTimespan(DateTime.Now.AddDays(1)), 
     EventEndDate = ToUnixTimespan(DateTime.Now.AddDays(1).AddHours(4)), 
     url = "www.bing.com" 
    }); 

    var highlightDays = Jayrock.Json.Conversion.JsonConvert.ExportToString(tasksList.ToArray()); 

    return Json(highlightDays, JsonRequestBehavior.AllowGet); 
} 


<script type="text/javascript"> 
$(function() { 

// FullCalendar 

$('.fullcalendar').fullCalendar({ 
theme: true, 
header: { 
left: 'today prev,next', 
center: '', 
right: '' 
}, 
defaultView: 'month', 
editable: false, 
events: function (callback) { 
// do some asynchronous ajax 
contentType: "application/json; charset=utf-8", 
     $.getJSON("/Test/HighlightCalendar/", null, 
       function (result) { 
       var calevents = new Array(); 
       var results = eval(result); 
       eval(results.length); 
       if (results != null) { 
       for (i in results) { 
        var calEvent = results[i]; 

        calevents.push(calEvent) 

       } 
       } 
       alert(calevents.length); 

       // then, pass the CalEvent array to the callback 
       callback(calevents); 

       }); 
} 

}); 

至於我的JSON,它看起來像:

[{"id":1,"allDay":false,"title":"Google search","start":1279750267,"end":1279764667,"url":"www.google.com"},{"id":2,"allDay":false,"title":"Bing search","start":1279836667,"end":1279851067,"url":"www.bing.com"}] 

你覺得有什麼不好呢?

回答

0

這可能與您的財產和價值引號有關。

嘗試在屬性和值中包含引號並檢查結果。

我在不使用JSON.js的情況下實現了同樣的效果。

System.Web.Script.Serialization.JavaScriptSerializer eventListSerializer = 
                        new System.Web.Script.Serialization.JavaScriptSerializer(); 
       string eventListJSON = eventListSerializer.Serialize(addevList);