Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有MVC模型的完整日历事件阵列_Javascript_Jquery_Asp.net Mvc_Fullcalendar - Fatal编程技术网

Javascript 具有MVC模型的完整日历事件阵列

Javascript 具有MVC模型的完整日历事件阵列,javascript,jquery,asp.net-mvc,fullcalendar,Javascript,Jquery,Asp.net Mvc,Fullcalendar,我使用的是javascript和jquery,在这方面我非常在行 我知道我可以像这样在日历中添加事件: events: [ { title: 'All Day Event', start: new Date(y, m, 1), backgroundColor: "#f56954", //red borderColor: "#f56954" //red },

我使用的是javascript和jquery,在这方面我非常在行

我知道我可以像这样在日历中添加事件:

events: [
        {
            title: 'All Day Event',
            start: new Date(y, m, 1),
            backgroundColor: "#f56954", //red
            borderColor: "#f56954" //red
         },
         {
            title: 'Meeting',
            start: new Date(y, m, d, 10, 30),
            allDay: false,
            backgroundColor: "#0073b7", //Blue
            borderColor: "#0073b7" //Blue
        }
        ]

我的问题是如何使用IEnumarable模型添加带有循环的事件。

在我的示例中,“Check”是我的模型的名称。if else语句用于确定何时必须键入逗号,因为最后一个事件后面不能有逗号

您可能知道,
@
符号定义了C#语法的开头。但是,使用
@:
表示应将此行视为内容块

正如您所看到的,我使用了
@
来开始
foreach
循环,然后循环中必须使用JavaScript语法的任何东西前面都有
@:
,甚至括号

lastItem变量定义IENumber表的最后一项。要在Razor视图中定义变量,必须使用
@{(此处声明变量)}
。 if语句随后将检查当前项是否是最后一项-如果是,则不在末尾添加逗号

您只需复制我的示例并将属性编辑到您自己的

events: [
            @{Check lastItem = Model.Last(); }
            @foreach (var item in Model) {
                    @:{
                            @: title: ('@item.Name.ToString()'),
                            @: start: ('@item.DateScheduledFor.ToString("yyyy-MM-ddTHH\\:mm\\:ss")'),
                            @: description: 'NTO: @item.NTO'
                    @:}

                    if (item != lastItem) {
                        @:,
                    }
                    else
                    {
                        @:
                    }
                }
        ]

您可以使用
array.prototype.push()
,轻松地从循环向数组添加对象:


我认为您错过了
Array.prototype.push()
,您可以在
events
上使用该方法来推送新创建的JSON对象。在循环中创建一个新对象,然后将其推入
事件中,您就完成了。您能举个例子吗?我不知道IEnumerable模型,但我会用一个简单的javascript循环发布一个答案
var myEvents = [
  { title: "Meeting", date: new Date('01/01/2015') },
  { title: "Lunch", date: new Date('01/05/2015') }
];
myEvents.forEach(function(baseEvent) {
  events.push({ title : baseEvent.title, start: baseEvent.date, allDay: false, backgroundColor: "#f56954" });
});