我一直在尝试使用以下代码使用对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