1 回答
TA贡献1806条经验 获得超5个赞
实现此目的的最佳方法是将事件用作完整日历文档中描述的JSON 提要模式。
本质上它的工作原理是这样的:如果您告诉 fullCalendar 控制器操作的 URL,每当日历中的日期范围发生变化时(并且它还没有下载该日期范围的事件),它就会自动向服务器发出新请求。它还会自动将“开始”和“结束”日期参数附加到请求中 - 因此您的服务器所要做的就是读取这些参数并在数据库查询中使用它们来过滤返回到日历的结果。您还可以选择将其他相关数据附加到请求中 - 例如其他过滤器选项。
因此,在您的情况下,您最终会得到如下代码:
JavaScript - fullCalendar 事件配置:
events: {
type: "POST",
url: "/home/GetEvents",
data: function () { // a function that returns an object
return {
//your filter object goes here
};
}
控制器:
[HttpPost]
public JsonResult GetEvents(FiltModel model) {
//...where the FiltModel class includes start and end parameters - ideally these should be DateTime objects, not strings.
//... then, query the database using the filter options in the model, and return JSON in the format required by fullCalendar
}
添加回答
举报