Um meine EF4 EntityCollection zu bekommen mit Kontrollkästchen Werte zu binden, muss ich manuell die Kontrollkästchen in einer Schleife erstellen wie folgt:Schnell MVC2 Checkbox Frage
<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>
Es funktioniert, aber es funktioniert nicht Wenn ich ein Modellobjekt bearbeite, wird die Gruppe der Kontrollkästchen automatisch mit vorhandenen Werten gefüllt. Kann ich es mit so etwas täuschen?
<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>
Ich stelle dar, da etwas in diese Richtung sein muss, die arbeiten, und ich frage mich nur, wenn ich auf dem richtigen Weg bin.
EDIT: Ich bin absichtlich weg von MVC Check-Box-HTML-Helfer-Methoden, wie sie für meine Bedürfnisse zu unflexibel sind. Meine Kontrollkästchen verwenden Ganzzahlen als ihre Werte von Entwurf.
Kein Würfel, einen Compilerfehler bekommen. –
Was ist der Fehler? Möglicherweise nur ein Tippfehler. – Sapph
Denken Sie, ich habe es. Aktualisierung meiner Post in einer Sekunde Sie wollen wahrscheinlich "p => p.PlatformId == i" statt nur "p => PlatformId == i". :) – Sapph