MVC Json FullCalendar



我有一个一般的问题,我使用了其他家伙的基础,最终得到这个工作,并得到它与我的数据库工作,但是,当我试图将其转换为我的项目,我得到一个错误,这里是我的代码:

所以我有一个索引页在视图我使用ID日历…

我也有一个动作在控制器内除了索引名为-

public ActionResult GetEvents(double start, double end)
{
    var fromDate = ConvertFromUnixTimestamp(start);
    var toDate = ConvertFromUnixTimestamp(end);
    var items = db.NewEvents.Select(a => new ListOfEvents
    {
        title = a.Title,
        start = a.Start,
        end = a.End,
        allDay = a.AllDay,
        date = a.Date,
        url = a.Url
    });
    var eventList = items.ToList();
    var rows = eventList.ToArray();
    return Json(rows, JsonRequestBehavior.AllowGet);
}

我已经检查并复制了我的其他项目的代码(顺便说一句,它工作得很好),所以我知道名字都是100%正确的。

这是我得到的错误:

参数字典包含一个空值非空类型'start'参数的条目。两倍的方法'System.Web.Mvc.ActionResult ' gettevents (Double, Double)' in"PropertyManager.Areas.Tenant.Controllers.EventController"。一个可选参数必须为引用类型、可空类型或为声明为可选参数。参数名称:parameters

老实说,我不确定如何修复在其他项目中,我不调用参数。然而,我注意到在Chrome浏览器,当我去网络视图,我看到开始&结束和正确的日期等。它们没有正确地传递到控制器我该怎么办?

默认情况下,事件作为json feed以ISO8601格式传递startend参数:

这些参数的值将是ISO8601日期字符串(如2013-12-01)。

您可以做的是使这个工作在unix格式是在您的客户端,替换events属性在AJAX调用到以下代码(事件(作为一个函数)):

...
events: function(start, end, timezone, callback) {
    $.ajax({
        url: '/home/GetEvents/',
        dataType: 'json',
        data: {
            start: start.unix(),
            end: end.unix()
        },
        success: function(doc) {
            // The following code is taken from documentation.
            var events = [];
            $(doc).find('event').each(function() {
                events.push({
                    title: $(this).attr('title'),
                    start: $(this).attr('start') // will be parsed
                });
            });
            callback(events);
        }
    });
}
...

相关内容

  • 没有找到相关文章

最新更新