一点背景: 我试图用css类在JQuery DatePicker中标记日期,以指示它们的可用性级别。 (绿色日期=大量可用性,橙色日期=某些可用性,禁用=无可用性)。我写了一个导致
的服务ViewBag.AvailabilityTimeMap = IDictionary<DateTime, int>
//int is the availability/capacity of the specified date.
现在我想把它写到视图中,以便DatePicker的beforeShowDay函数可以匹配从字典中传递DateTime的日期。
$('#_uiAppCalendarDiv').datepicker({
beforeShowDay: renderCalendarCallback
});
var dateMap = @Html.Raw(SomeSortOfSerialization(ViewBag.AvailabilityTimeMap));
function renderCalendarCallback(date) {
//eliminate weekends
if ($.datepicker.noWeekends(date) == false){
return false;
}
for(var index in dateMap) {
if (index.key == date.toJSON()){
//apply the appropriate css
return true;
}
}
//date is not in the availability map (should not happen).
return false;
}
我认为有了正确的“SomeSortOfSerialization”,这应该是可能的吗?它看起来像Json.Encode使用了一个奇怪的DateTime格式,javascript无法做太多。