FullCalendar在sql数据库中设置日期背景颜色

时间:2015-10-16 17:07:13

标签: jquery sql asp.net-mvc fullcalendar

我正在使用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){

});

提前谢谢..

0 个答案:

没有答案