2017-09-03 55 views
-1

我正在尝试使用jQuery创建一些div来取代我的视图模型。这是代码:使用jQuery动态输出模型数据时遇到困难

<script src="~/Scripts/jquery-3.1.1.min.js"></script> 
<script> 
$(document).ready(function() { 
    var model = @Html.Raw(Json.Encode(Model.MemberProfiles)); 
    console.log(model); 

    for (profile in model) { 
     $("#viewMembers").append("<div class='profilePreview'><p>" + profile["FirstName"] + "</p></div>"); 
    } 

    $("#viewMembersBtn").click(function() { 
     $("#viewMembers").toggle(); 
    }); 
}); 

正如你可以看到here的 “名字” 属性的计算结果为undefined。如果您查看同一图像中的console.log(),则对象具有正确的数据。如何正确检索FirstName属性?

+0

尝试** **不发送** **功能,与你的JSON。 –

+0

它需要'profile.FirstName'假设'MemberProfiles'是'IEnumerable '(你需要展示你的模型) –

+1

但是为什么在这个世界上你使用javascript来做到这一点,而不是只使用剃刀'@foreach Model.MemberProfiles中的var item){...'? –

回答

1

您需要model[profile].FirstName

for (var profile in model) { 
    $("#viewMembers").append("<div class='profilePreview'><p>" + model[profile].FirstName + "</p></div>"); 
} 
0

尝试访问的JavaScript型号如下:

for (profile in model) { 
    $("#viewMembers").append("<div class='profilePreview'><p>" + profile.FirstName + "</p></div>"); 
} 
+0

这实际上是我最初访问属性的方式。我在尝试修复它时将其改为方括号语法。名字仍然打印为“未定义”。 :( –

相关问题