2012-02-21 3 views
1

最初の2つの部分は、簡単な例を使用して、私のJSONフィードからすべてのイベントを取得するためにfullcalendarを取得するにはどうすればいいですか?私のカレンダーは短期間で非常に特殊なので、日付をスクロールするときにイベントをリロードする必要はありません。ここではアクションメソッドです:ここではfullcalendarをmvc jsonフィードから1回の呼び出しですべてのイベントを取得する方法を教えてください。

public JsonResult CalendarData(int id) 
{ 
    List<object> json = new List<object>(); 

    json.Add(
     new 
     { 
      title = "Click for Google", 
      start = string.Format("/Date({0})/", DateTime.Now.ToUnixTime()), 
      end = string.Format("/Date({0})/", DateTime.Now.AddDays(1).ToUnixTime()), 
      url = "http://google.com/" 
     }); 

    return this.Json(json, JsonRequestBehavior.AllowGet); 
} 

のIは、1回の呼び出しでバックすべてのイベントを取得しようとする使用していますJS:

$(document).ready(function() { 
    $('#calendar').fullCalendar({ 
     editable: false, 
     events: "{controller}/calendardata/1", 
     loading: function (bool) { 
      if (bool) $('#loading').show(); 
      else $('#loading').hide(); 
     } 
    }); 
}); 

をそして、私の質問への第二の部分はされているものの日付形式は、必要があります私は私が現在持っていることは正しいかどうかわからない(返すこと?

おかげ

+0

日付の形式はUNIXの時刻にすることができます。あなたが書いたコードの何が間違っていますか? 'イベント'はイベントの配列ですので、それは正常に動作する必要があります。 – aldrin

答えて

0

私はこれを試していないが、私はあなたがデータを取得するためにjQueryのgetJSONを使用することができます疑い、次に使用しますイベントを設定するfullcalendarイベントおよび/またはeventsourcesプロパティ。私はあなたがこのようなイベントを設定すると、それはに続いて

など、数週間、数ヶ月を紹介ページと同じイベントデータを使用し続けるべきだと考え

$.getJSON($("#calendarUri").val(), function(data) { 
    $("#calendar").fullCalendar(
     { 
      events: data 
     } 
    ) 
}); 

:それはこのようになりますビュー:あなたのルーティングを変更した場合、あなたのイベントフィードのURLを保存するために、あなたのビューで隠しフィールドを使用することによって、あなたがトラブルに実行されないことを

@Hidden("calendarUri", Url.Action("CalendarData", new { id = 1 })) 

注意。

0

この記事は、イベントの完全なカレンダーJSON値のショーの私にとって非常に便利です。

@Html.Hidden("calendarUri", Url.Action("LoadCalendarData","Home")) 

jq.getJSON($("#calendarUri").val(), function (data) { 
    jq('#calendar').fullCalendar({ 
     header: { 
      //left: 'prev,next today', 
      left: 'prev', 
      center: 'title', 
      //right: 'month,agendaWeek,agendaDay' 
      right: 'next', 
      height: '650', 
     }, 
     defaultDate: '@currentDate', 
     editable: true, 
     eventLimit: true, // allow "more" link when too many events 
     events: data 
    }); 

});

関連する問題