首页 > 解决方案 > 将 MVC 模型数组传递到 javascript 数组的问题

问题描述

我试图将一个数组从我的 MVC 模型传递到一个 javascript 数组(在 fullCalendar 中使用),但是有一个问题。

从下面,“myArray”正在填充模型数组中正确数量的项目,但是当我尝试显示 obj.DateTime(MVC 模型数组中的有效字段)时,它返回未定义。未定义警报针对数组中的项目出现正确的次数。

任何帮助将不胜感激。

var myArray = [];

@foreach (var d in Model.Appointments)
{
    @:myArray.push("@d");
}

myArray.forEach(function (obj) {
    alert(obj.DateTime);
})

标签: javascriptarraysasp.net-mvcrazor

解决方案


您不能@d用于将 C# 对象直接转换为 java-script 对象。您应该对 C# 对象进行编码以生成 json 值。

此代码会将您的 C# 对象编码(序列化)为 JSON 模型。

@Html.Raw(Json.Encode(d));

这是另一个像你一样的问题


推荐阅读