【发布时间】:2017-03-22 04:23:04
【问题描述】:
我创建了一个包含可用日期的列表并将其序列化为 json:
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时反对产生以下结果:
["2016 年 11 月 20 日","2016 年 17 月 12 日"]
我也尝试过将 var 声明为数组:
var availableDates = [];
availableDates = @Html.Raw(Json.Encode(@Model.datesStr));
再次没有成功实现 json。我应该以某种方式将我的 json 转换为用逗号分隔的字符串吗?
【问题讨论】:
标签: jquery json asp.net-mvc datepicker