我在这个主题上阅读了更多内容,但没有什
我正在使用带有asp.net mvc和ajax的JQuery FullCalendar来获取大量事件。
我想通过仅显示当前视图的事件来限制它,当用户点击next / prev时,他们会加载该视图的事件,依此类推。
$("#calendar").fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: true,
height: 'auto', //altfel se prelungea mult in jos
defaultView: 'agendaWeek',
events: "/calendar/GetAllCalendarEvents/" //gets the events.
});
我看到了开始/结束日期,但您如何使用它?我想仅根据这些日期从服务器获取,但是当您单击next / prev以获取新的时间段事件时。
任何人都可以提供帮助?
答案 0 :(得分:0)
“start”和“end”参数是unix时间戳。您可以使用控制器操作来获取如下所示的时间戳:
public ActionResult GetAllCalendarEvents(double start, double end)
{
var startDate = start.FromUnixTimestamp();
var endDate = end.FromUnixTimestamp();
// Get your events into a list here
IEnumerable<SomeEventClass> events = ...;
return Json(events.Select(evt => new
{
title = evt.Title,
url = evt.Url,
start = evt.StartDate.ToISO8601(),
end = evt.EndDate.ToISO8601(),
}), JsonRequestBehavior.AllowGet);
}
我上面使用的扩展方法如下:
public static DateTime FromUnixTimestamp(this double timestamp)
{
var origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
return origin.AddSeconds(timestamp).ToLocalTime();
}
public static string ToISO8601(this DateTime date)
{
return date.ToString("yyyy-MM-ddTHH\\:mm\\:ss.fffffffzzz");
}
希望这有帮助。