2017-09-03 6 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プロパティを正しく取得するにはどうすればよいですか?このようなあなたのJavaScriptモデルにアクセスするための

+0

は**あなたのJSONで** **機能を送信するために**ないようにしてください。 –

+0

'MemberProfiles'が' IEnumerable 'であると仮定して' profile.FirstName'にする必要があります(あなたのモデルを表示する必要があります) –

+1

しかし、なぜ世界では、これを行うためにジャバスクリプトを使用していますか? Model.MemberProfilesのvarアイテム){... '? –

答えて

1

あなたはmodel[profile].FirstNameが必要です

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

試してみてください。

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

これは実際に私がプロパティに最初にアクセスしていた方法です。私はそれを修正しようとしている間に角括弧構文を変更しました。ファーストネームはまだ「未定義」として印刷されます。 :( –

関連する問題