2017-09-03 58 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

這實際上是我最初訪問屬性的方式。我在嘗試修復它時將其改爲方括號語法。名字仍然打印爲「未定義」。 :( –