Javascript 无法将字符串数组分配给引导DateTimePicker disabledDates
我在ASP.net MVC5应用程序中使用引导datetimepicker。 我试图从DB中获取禁用日期,创建一个禁用日期数组,然后用javascript传递该数组:- C# e、 g.禁用日期=[“2017-08-29”、“2017-11-22”]Javascript 无法将字符串数组分配给引导DateTimePicker disabledDates,javascript,asp.net-mvc,bootstrap-datetimepicker,Javascript,Asp.net Mvc,Bootstrap Datetimepicker,我在ASP.net MVC5应用程序中使用引导datetimepicker。 我试图从DB中获取禁用日期,创建一个禁用日期数组,然后用javascript传递该数组:- C# e、 g.禁用日期=[“2017-08-29”、“2017-11-22”] $(函数(){ var disabledDatesAr='@Model.disabledDates'; $(“#scheduleDate”).datetimepicker({ useCurrent:false, minDate:新日期(), 格式
$(函数(){
var disabledDatesAr='@Model.disabledDates';
$(“#scheduleDate”).datetimepicker({
useCurrent:false,
minDate:新日期(),
格式:“DD-MM-YYYY hh:MM A”,
ShowToday按钮:正确,
是的,
showClose:没错,
真的,,
工具栏位置:“顶部”,
disabledDates:disabledDatesAr
});
});
但是上面的代码不起作用,DateTimePicker弹出窗口被禁用。
有谁能告诉我如何将这个数组值分配给禁用的日期吗?
提前感谢。如果您有此部分:
var disabledDatesAr = '@Model.disabledDates';
您实际上只是在调用对象的ToString方法。数组的ToString方法输出如下System.String[]
。所以你真的是在剃须刀里这样做的:
var disabledDatesAr = 'System.String[]';
您要做的是创建一个JSON数组,这将输出您期望的语法
disabledDates = ["2017-08-29","2017-11-22"];
斯蒂芬·穆克(Stephen Muecke)在评论中提到了一个很好的方法
var disabledDatesAr = @Html.Raw(Json.Encode(Model.disabledDates));
如果没有Html.Raw
razor,razor将尝试对字符进行编码
以下是一些有用的文档:和。当您有此部分时:
var disabledDatesAr = '@Model.disabledDates';
您实际上只是在调用对象的ToString方法。数组的ToString方法输出如下System.String[]
。所以你真的是在剃须刀里这样做的:
var disabledDatesAr = 'System.String[]';
您要做的是创建一个JSON数组,这将输出您期望的语法
disabledDates = ["2017-08-29","2017-11-22"];
斯蒂芬·穆克(Stephen Muecke)在评论中提到了一个很好的方法
var disabledDatesAr = @Html.Raw(Json.Encode(Model.disabledDates));
如果没有Html.Raw
razor,razor将尝试对字符进行编码
以下是一些有用的文档:和。
var disabledDatesAr=@Html.Raw(Json.Encode(Model.disabledDates))代码>谢谢@StephenMuecke!!它可以工作。var disabledDatesAr=@Html.Raw(Json.Encode(Model.disabledDates))代码>谢谢@StephenMuecke!!谢谢你的详细解释@Ashley Medway谢谢你的详细解释@Ashley Medway