如何从Model创建数组?

时间:2017-10-24 08:11:46

标签: javascript c# jquery asp.net-mvc razor

我是javascript的新手,我有这个代码,我应该传递或转换为jQuery。我尝试了一些代码,但它不起作用。我该怎么做呢?

以下是它的样子:

<script>
  $('#calendar').fullCalendar({
    defaultDate: '2017-10-12',
    editable: true,
    eventLimit: true, // allow "more" link when too many events
    events: [
        {
            title: 'Juan Dela Cruz',
            start: '2017-10-01T10:30:00',

        },
        {
            title: 'Juan Dela Cruz',
            start: '2017-10-12T10:30:00',

        },
        {
            title: 'Juan Dela Cruz',
            start: '2017-10-27T12:00:00'
        }
    ]
});

以下是我的尝试:

<script>
var x = [];
@foreach(var item in Model)
{
    @:x.push(title='@Html.DisplayFor(x=>item.Patient.LastName)', start='@Html.DisplayFor(x=>item.ScheduleDate)')
}
$('#calendar').fullCalendar({
    defaultDate: '2017-10-12',
    editable: true,
    eventLimit: true, // allow "more" link when too many events
    events: x
});

2 个答案:

答案 0 :(得分:5)

您正在使用Model语句对@foreach进行迭代更正。

问题出在这一行:

@:x.push(title='@Html.DisplayFor(x=>item.Patient.LastName)', start='@Html.DisplayFor(x=>item.ScheduleDate)')

您必须以下列方式推送 object

@:x.push({title:'@item.Patient.LastName', start:'@item.ScheduleDate'});

答案 1 :(得分:2)

声明foreach in jQuery$.each,这是一个简单的示例:

$.each( obj, function( key, value ) {
  alert( key + ": " + value );
});