带有MVC模型的完整日历事件数组

时间:2015-11-16 10:26:30

标签: javascript jquery asp.net-mvc fullcalendar

我正在使用http://fullcalendar.io/,在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模型添加循环事件。

2 个答案:

答案 0 :(得分:1)

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

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

正如您所看到的,我已经使用@开始foreach循环,然后在该循​​环内的任何必须使用JavaScript语法的内容,其前面都有@: - 甚至括号。

lastItem变量定义IEnumberable的最后一项。要在Razor视图中定义变量,您必须使用@{(declare variable here)}。 然后,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
                    {
                        @:
                    }
                }
        ]

答案 1 :(得分:1)

您可以使用function handleOpenURL(url) { var body = document.getElementsByTagName("body")[0]; var rootController = angular.element(body).scope(); rootController.reportAppLaunched(url); }

轻松地从循环向对象添加对象
Array.prototype.push()