Я создал список, содержащий доступные даты и сериализовать его в формате JSON:Jquery DatePicker - дата Pass массив из контроллера MVC
List<string> dates = new List<string>();
foreach(BookingDates itm in model.availableDates)
{
dates.Add(itm.expDate.ToString("dd-MM-yyyy"));
}
model.datesStr = new JavaScriptSerializer().Serialize(dates);
Я затем передать данные модели в JQuery и попытаться передать даты к DatePicker:
var availableDates = @Html.Raw(Json.Encode(@Model.datesStr));
alert(availableDates);
function available(date) {
dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear();
if ($.inArray(dmy, availableDates) != -1) {
return [true, "ui-available", "Available"];
}
else {
return [false, "ui-unavailable", "unAvailable"];
}
}
Датпикер не заполняется датами. Если же набираю даты, она делает:
var availableDates = ["20-11-2016","17-12-2016"];
Единственное различие, которое я заметил, это результат моего предупреждения, когда даты типизированных, как выше:
20-11-2016,17-12 -2016
Противоположность в результате следующее, когда я использую JSON:
[ "20-11-2016", "17-12-2016"]
Я также попытался объявляя var в виде массива:
var availableDates = [];
availableDates = @Html.Raw(Json.Encode(@Model.datesStr));
новый, без успеха, реализующий json. Должен ли я каким-то образом преобразовать мой json в строку, разделенную запятой?
Фантастическая ... спасибо –