オブジェクト配列内のfullcalendarイベントを取得してビューモデルに保存して、javascriptに渡して完全なカレンダーイベントにロードできるようにします以下のように。しかし、私はeventArrayとしてスクリプトセクションに格納するときにエラーが発生しています!私のビューモデルからフルカラーイベントのjavascript変数へのオブジェクト配列のバインド
私のサービス層が...ここ
SpaceEventsViewModel viewModel = new SpaceEventsViewModel();
var eventList = from e in events
select new
{
id = e.SpaceEventId,
title = e.Title,
start = e.EventDateTime
};
viewModel.EventArray = eventList.ToArray();
return viewModel;
は、私の見解モデル...である私は、使用するjsの変数にEventArrayを設定しようとここに私の見解で
public class SpaceEventsViewModel
{
public object[] EventArray { get; set; }
}
eventArray =
""(イベントデータの配列ではありません)変数eventsArrayの内容を見て、イベントカレンダーのイベントをロードします。> f__AnonymousType44`3 [可能System.Int32、可能System.String、のSystem.DateTime] []」
<script>
var eventsArray = "@Model.EventArray";
</script>
これが正しいデータフルカレンダーのニーズではありませんので、私はエラーを取得します。
最終的に私はこのような私の完全なカレンダーイベントオプションにeventsArrayを渡したい:
$('#calendar').fullCalendar({
//defaultDate: '2016-12-17',
header: {
left: 'title', //today',
center: '',
right: 'prev,next'
},
defaultView: 'month',
editable: false,
allDaySlot: false,
selectable: true,
eventStartEditable: false,
//height: 300,
//eventColor: 'green',
events: [ eventsArray ]
});
私はいくつかのことを変更しようとしたが、このエラーを受け取りました。私は、各値の周りに引用符があり、それがfullcalendarのイベントの正しい構文ではないからだと思います。 "予想 ';'"
この
のように見えるビューに渡されるデータの列から来る
この
public class SpaceEventsViewModel
{
public IEnumerable<FullCalendarEvent> EventArray { get; set; }
}
public class FullCalendarEvent
{
public int Id { get; set; }
public string Title { get; set; }
public DateTime Start { get; set; }
}
へのviewmodelを変更し、サービスコードはこれに
var eventList = from e in Events
select new FullCalendarEvent
{
Id = e.SpaceEventId,
Title = e.Title,
Start = e.EventDateTime
};
viewModel.EventArray = eventList;
return viewModel;
私はcorectフォーマットでフルカレンダーの文字列にDateTimeプロパティを変更しますが、私はまだエラー
にそれはHtml.Raw(Json.Encode(Model.EventArray))@ ' 'VARのeventsArray =である必要があります。 'id'、' title'と 'start'の2つのプロパティを含むモデルのコレクションを渡します。 –
こんにちはスティーブン、答えてくれてありがとう、答えの後半部分の短い例を挙げてください。私はあなたが "これらの2つのプロパティ(id、title、およびstart)を含むモデルのコレクションを渡す"ということを理解するのに苦労している。 – user1186050
'publicオブジェクト[] EventArray {get;セット; } ''をあなたの 'SpaceEventsViewModel'に追加し、' int id'、 'string title'と' DateTime start'プロパティを追加します。クエリを 'select new SpaceEventsViewModel {id = e.SpaceEventId、....}'に変更し、ビューに 'IEnumerable'を渡します。そして、 '' @ Html.Raw(Json.Encode(モデル)) '' –