我有一个一般的问题,我使用了其他家伙的基础,最终得到这个工作,并得到它与我的数据库工作,但是,当我试图将其转换为我的项目,我得到一个错误,这里是我的代码:
所以我有一个索引页在视图我使用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格式传递start
和end
参数:
这些参数的值将是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);
}
});
}
...