イベントはFullCalenderでレンダリングされませんか?フルカレンダーでイベントが表示されていませんか?
var calendar = $('#calendar').fullCalendar({
theme: true,
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
//events: '/MyCalender/JsonResponse.ashx',
events: [{id: '1',title: 'Event1',start: 1312462800,end: 1312462800,allDay:false,description: 'Event1'},{id: '3',title: 'Event2',start: 1309890600,end: 1309890600,allDay:true,description: 'Event2'},{id: '4',title: 'Event5',start: 1311705000,end: 1311705000,allDay:true,description: 'Event5'},{id: '5',title: 'Event3',start: 1310927400,end: 1310927400,allDay:true,description: 'Event3'},{id: '6',title: 'Event4',start: 1310495400,end: 1310495400,allDay:true,description: 'Event4'},{id: '7',title: 'Time Event1',start: 1312144200,end: 1312174800,allDay:false,description: 'Time Event1'}],
..other parameter
...
});
私はここにいくつかの試行錯誤の後
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "application/json";
DateTime start = new DateTime(1970, 1, 1);
DateTime end = new DateTime(1970, 1, 1);
start = start.AddSeconds(double.Parse(context.Request.QueryString["start"]));
end = end.AddSeconds(double.Parse(context.Request.QueryString["end"]));
String result = String.Empty;
result += "[";
List<int> idList = new List<int>();
foreach (CalendarEvent cevent in EventDAL.getEvents(start, end))
{
result += convertCalendarEventIntoString(cevent);
idList.Add(cevent.id);
}
if (result.EndsWith(","))
{
result = result.Substring(0, result.Length - 1);
}
result += "]";
//store list of event ids in Session, so that it can be accessed in web methods
context.Session["idList"] = idList;
context.Response.Write(result);
}
private String convertCalendarEventIntoString(CalendarEvent cevent)
{
String allDay = "true";
if (ConvertToTimestamp(cevent.start).ToString().Equals(ConvertToTimestamp(cevent.end).ToString()))
{
if (cevent.start.Hour == 0 && cevent.start.Minute == 0 && cevent.start.Second == 0)
{
allDay = "true";
}
else
{
allDay = "false";
}
}
else
{
if (cevent.start.Hour == 0 && cevent.start.Minute == 0 && cevent.start.Second == 0
&& cevent.end.Hour == 0 && cevent.end.Minute == 0 && cevent.end.Second == 0)
{
allDay = "true";
}
else
{
allDay = "false";
}
}
return "{" +
"id: '" + cevent.id + "'," +
"title: '" + HttpContext.Current.Server.HtmlEncode(cevent.title) + "'," +
"start: " + ConvertToTimestamp(cevent.start).ToString() + "," +
"end: " + ConvertToTimestamp(cevent.end).ToString() + "," +
"allDay:" + allDay + "," +
"description: '" + HttpContext.Current.Server.HtmlEncode(cevent.description) + "'" +
"},";
}
public bool IsReusable
{
get
{
return false;
}
}
private long ConvertToTimestamp(DateTime value)
{
long epoch = (value.ToUniversalTime().Ticks - 621355968000000000)/10000000;
return epoch;
}
Javascriptコンソールにエラーがありますか? – aldrin
エラーは見つかりませんでした。私はFirebugを使ってエラーを修正しましたが、エラーはまったくありません。私はイベントオブジェクトを直接提供している場合、イベントのレンダリングは正常に動作しています。しかし、私はashx(javascriptでコードをコメントしたことがある)イベントを呼び出すたびに何も起こりません。 –
ブラウザで/MyCalender/JsonResponse.ashxを開いてみましたが、そのレスポンスを取得してイベントに直接貼り付けましたか?これは、構文エラーを示す可能性があります。 Firebugのイベントタブのレスポンスは、Netタブの – aldrin