JSON フィードからデータをフェッチするために ajax を使用しているときに、fullCalendar オブジェクトのイベントが表示されないという問題があります。JSON.aspx からの出力は次のとおりであるため、JSON 形式は適切であると思います。
[{"id":1,"title":"TESTTITLE","info":"INFOINFOINFO","開始":"2012-08-20T12:00:00","終了":"2012-08-20T12 :00:00","ユーザー":1}]
Firebug を使用しましたが、JSON フィードが正しく取得されていないようです。
イベントに上位の JSON フィードを直接追加すると、適切に表示されます。
(編集) JSON 応答が機能するようになりましたが、イベントはまだフルカレンダーに表示されていません。
JSON.aspx
public partial class JSON : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// Get events from db and add to list.
DataClassesDataContext db = new DataClassesDataContext();
List<calevent> eventList = db.calevents.ToList();
// Select events and return datetime as sortable XML Schema style.
var events = from ev in eventList
select new
{
id = ev.event_id,
title = ev.title,
info = ev.description,
start = ev.event_start.ToString("s"),
end = ev.event_end.ToString("s"),
user = ev.user_id
};
// Serialize to JSON string.
JavaScriptSerializer jss = new JavaScriptSerializer();
String json = jss.Serialize(events);
Response.Write(json);
Response.End();
}
}
そして私のSite.master
<link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
<link href='fullcalendar/fullcalendar.css' rel='stylesheet' type='text/css' />
<script src='jquery/jquery-1.7.1.min.js' type='text/javascript'></script>
<script src='fullcalendar/fullcalendar.js' type='text/javascript' ></script>
<script type="text/javascript">
$(document).ready(function () {
$('#fullcal').fullCalendar({
eventClick: function() {
alert('a day has been clicked!');
},
events: 'JSON.aspx'
})
});
</script>
関連する質問を何日もスキャンしてきましたが、どれも私のものを修正していないようです...