C# Ajax函数不显示JSON日期列表(Mvc5)

C# Ajax函数不显示JSON日期列表(Mvc5),c#,json,asp.net-mvc,asp.net-mvc-4,asp.net-ajax,C#,Json,Asp.net Mvc,Asp.net Mvc 4,Asp.net Ajax,在我的MVC5视图中,我正在调用一个JSON函数。 JSON函数返回一个AvailableDates模型,其中定义了一个Userld(字符串)和一个DateTime对象列表 我的视图只能读取Userld,但DateTime对象显示为“未定义” 有人知道为什么我的视图中没有JSON日期时间列表值吗 我的JSON函数: public JsonResult GetFreeAppointmentDays() { List<DateTime> avaliableBookingDays = n

在我的MVC5视图中,我正在调用一个JSON函数。 JSON函数返回一个AvailableDates模型,其中定义了一个Userld(字符串)和一个DateTime对象列表

我的视图只能读取Userld,但DateTime对象显示为“未定义” 有人知道为什么我的视图中没有JSON日期时间列表值吗

我的JSON函数:

public JsonResult GetFreeAppointmentDays()
{
 List<DateTime> avaliableBookingDays = new List<DateTime>();

 DateTime x1 = new DateTime(2017, 04, 11, 0, 0, 0);
 DateTime x2 = new DateTime(2017, 04, 12, 0, 0, 0);

 avaliableBookingDays.Add(x1.Date);
 avaliableBookingDays.Add(x2.Date);

 useravaliableDates AvaliableDates = new useravaliableDates()
 {
    UserIDs = "4,5,2,0,0,0,2",
    Avdata = avaliableBookingDays    
 };

 return Json(AvaliableDates, JsonRequestBehavior.AllowGet);
}

您正在以毫秒格式获取日期。 将C#date对象转换为字符串格式,并将
Avdata
属性更改为
List

然后将其转换为javascript日期对象:

var row = "UserIDs are: " + data.UserIDs + "  Date " + i + " -> " + new Date(item); + "<br/>" 
var row=“userid是:“+data.userid+”日期“+i+”->”+新日期(项目);+“

您需要一个
函数
,它可以将
\/date(1491861600000)\/
这样的日期转换为真实日期。为此,您可以使用
replace
方法

function parseDate(value){
   var newDate=new Date(parseInt(value.replace("/Date(", "").replace(")/",""), 10));
   return newDate.getDate()+'/'(newDate.getMonth()+1)+'/'+newDate.getFullYear()
}
在您的
每个
方法中,使用我在上面创建的
parseDate
函数:

$.each(data.Avdata, function (i, item) {
    var row = "UserIDs are: " + data.UserIDs + "  Date " + i + " -> " + parseDate(item)+ "<br/>"
    $('#divshow').append(row);
});
$。每个(data.Avdata,函数(i,项){
var row=“userid是:“+data.userid+”日期“+i+”->“+parseDate(项)+”
” $('#divshow')。追加(行); });
它对您有效吗?我更新了我的答案。
var row = "UserIDs are: " + data.UserIDs + "  Date " + i + " -> " + new Date(item); + "<br/>" 
function parseDate(value){
   var newDate=new Date(parseInt(value.replace("/Date(", "").replace(")/",""), 10));
   return newDate.getDate()+'/'(newDate.getMonth()+1)+'/'+newDate.getFullYear()
}
$.each(data.Avdata, function (i, item) {
    var row = "UserIDs are: " + data.UserIDs + "  Date " + i + " -> " + parseDate(item)+ "<br/>"
    $('#divshow').append(row);
});