私EF4 EntityCollectionは、チェックボックスの値をバインドするために得るために、私は手動でそうのようなループのチェックボックスを作成する必要があります。クイックMVC2のチェックボックスの質問
<p>
<%: Html.Label("Platforms") %><br />
<% for(var i = 0; i < Model.AllPlatforms.Count; ++i)
{ %>
<%: Model.AllPlatforms[i].Platform.Name %> <input type="checkbox" name="PlatformIDs" value="<%: Model.AllPlatforms[i].Platform.PlatformID %>" /><br />
<% } %>
</p>
それは動作しますが、それはしていませんモデルエンティティを編集しているときに、チェックボックスのグループを既存の値で自動的に設定します。私はそれのようなものでそれをすくいすることはできますか?
<p>
<%: Html.Label("Platforms") %><br />
<% for(var i = 0; i < Model.AllPlatforms.Count; ++i)
{ %>
<%: Model.AllPlatforms[i].Platform.Name %> <input type="checkbox" name="PlatformIDs" value="<%: Model.AllPlatforms[i].Platform.PlatformID %>" checked=<%: Model.GameData.Platforms.Any(p => PlatformID == i) ? "true" : "false" %> /><br />
<% } %>
</p>
私は正しい方向に動いているかどうかは分かりません。
EDIT:わたしは意図的にMVCのチェックボックスのHTMLヘルパーメソッドから遠ざかっているので、自分のニーズにあまりにも柔軟性がありません。私のチェックボックスは、整数をその値として設計によって使用します。
コンパイラエラーが発生しました。 –
エラーは何ですか?おそらく単にタイプミス。 – Sapph
私はそれを得たと思う。私のポストを1秒で更新します。おそらく、単に "p => PlatformId == i"の代わりに "p => p.PlatformId == i"が必要です。 :) – Sapph