我正在使用JQUERY FullCalendar插件在.net MVC C#中构建一个应用程序 我想要实现的是设置日历加载时(不是在事件点击上)从sql数据库获取的特定日期的背景颜色,或者单击上一个和下一个按钮。
有谁知道如何进行$.ajax
调用以检索FullCalender插件中的db日期?或者更好地实现我想要实现的目标?我知道如何实现$ .ajax调用来返回Json数据,它只是在dayRender事件中不起作用......
见下面的代码:
控制器:
public JsonResult GetOrderDates()
{
List<string> dates = new List<string>();
var days = db.Orders.Where(d => d.OrderDate != null).Select(d => d.OrderDate).Distinct().ToArray();
foreach (var item in days)
{
dates.Add(item.Date.ToString("yyyy/MM/dd"));
}
return Json(dates, JsonRequestBehavior.AllowGet);
}
脚本:
$('#calendar').fullCalendar({
header: {
left: 'prev, next today',
center: 'title',
right: 'month'
},
dayRender: function (date, cell) {
var date = new Date(date);
var day = date.getDate().toString();
if (day.length == 1) //FIX DAY FORMAT ID 2 = 02 TO MATCH DB ARRAY
day = 0 + day;
var year = date.getFullYear(); //GET YEAR
var month = (date.getMonth() + 1).toString();
if (month.length == 1)
month = 0 + month;
var dateStr = year + "-" + month + "-" + day;
// These values will be retrieved from db.. Hard coded for simplicity.
var dbDates = ['2015-10-09', '2015-10-10', '2015-10-30']
for (var i = 0; i < dbDates.length; i++) {
if (dateStr == dbDates[i].toString()) {
cell.css("background-color", "lightblue");
}
}
}
};
Ajax call ...(我在哪里进行此调用并将日期列表返回给dayRender:)
$.ajax('/Home/GetOrderDates', function(data){
});
提前谢谢..