我一直在嘗試使用以下代碼使用對ASHX頁面的調用將一些事件添加到fullCalendar。來自asp.net的FullCalendar事件ASHX頁面不顯示
頁腳本:
<script type="text/javascript">
$(document).ready(function() {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today', center: 'title', right: 'month, agendaWeek,agendaDay'
},
events: 'FullCalendarEvents.ashx'
})
});
</script>
C#代碼:
public class EventsData
{
public int id { get; set; }
public string title { get; set; }
public string start { get; set; }
public string end { get; set; }
public string url { get; set; }
public int accountId { get; set; }
}
public class FullCalendarEvents : IHttpHandler
{
private static List<EventsData> testEventsData = new List<EventsData>
{
new EventsData {accountId = 0, title = "test 1", start = DateTime.Now.ToString("yyyy-MM-dd"), id=0},
new EventsData{ accountId = 1, title="test 2", start = DateTime.Now.AddHours(2).ToString("yyyy-MM-dd"), id=2}
};
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "application/json.";
context.Response.Write(GetEventData());
}
private string GetEventData()
{
List<EventsData> ed = testEventsData;
StringBuilder sb = new StringBuilder();
sb.Append("[");
foreach (var data in ed)
{
sb.Append("{");
sb.Append(string.Format("id: {0},", data.id));
sb.Append(string.Format("title:'{0}',", data.title));
sb.Append(string.Format("start: '{0}',", data.start));
sb.Append("allDay: false");
sb.Append("},");
}
sb.Remove(sb.Length - 1, 1);
sb.Append("]");
return sb.ToString();
}
}
的ASHX頁面被調用和returnd以下數據:
[{ID:0,標題:」測試1',開始:'2010-06-07',allDay:false},{id:2,title:'test 2',start:'2010-06-07',allDay:false}]
對ASHX頁面的調用不顯示任何結果,但是如果我將直接返回的值粘貼到正確顯示的事件中。我是我一直試圖讓這個代碼工作一天,我不明白爲什麼事件沒有設置。
任何幫助或建議如何我能得到這個工作,將不勝感激。
史蒂夫
感謝您的答覆喬爾, 我已經創建了一個基於從它的代碼fullcalendar腳本的文檔: $( '#日曆')fullCalendar({ 事件: 「/myfeed.php」 }); 用我的ascx替換php頁面,所以會有預期不需要回調,除非php頁面處理不同。 – 2010-06-08 10:55:35