Vereinbaren MVC-Kontrollkästchen in den Spalten im inneren ForEach-Schleife mit Razor

Habe ich eine Sammlung (Generische Liste) Objekte bevölkert, die außerhalb des Modell des MVC-Ansicht und müssen das Kontrollkästchen anzeigen für jedes Element in der Liste.

Dies funktioniert gut für, das:

@foreach (Admin_Permission perm in ViewBag.PermissionList)
        {                
            @Html.CheckBox(perm.PermissionKey, new {Value=perm.PermissionID})  @perm.PermissionDesc
            <br>            
        }

Zeigt, dass das Kontrollkästchen eine pro Zeile... und es sind etwa 50 von Ihnen, so dass es verschwendet VIEL Platz, da jede Beschreibung ist nur etwa 10 Zeichen oder so.

In der Vergangenheit würde ich ein CheckBoxList-mit Spalten bis 5 für diese... aber die Funktion scheint zu fehlen mit MVC... also muss ich herausfinden, einen Weg, um die gleiche Sache hier irgendwie. Ich habe gespielt mit mit einer for-Schleife und zählen der Spalten und hinzufügen etc., wie wir zählen durch die Objekte, aber es scheint nicht zu nehmen. Bekomme immer Fehler, wo razor nicht wie die markeup für das schließen einer TD und die Gründung eines neuen innerhalb einer if-Anweisung.

So... die Millionen-dollar-Frage ist, wie zum Teufel tun wir das richtig in MVC? Es scheint mir, ich muss etwas fehlen. Seine so ein blödes problem haben, dass I müssen mit Blick auf etwas einfaches. Wer?

  • Noch eine weitere Anmerkung. Ich habe versucht, mit der open-source-CheckBoxListFor<>, aber das funktioniert nur, wenn Ihre Objekte sind im Blick auf das Modell... diese gibt es nicht, und kann nicht einfach integriert werden in das Modell die Ansicht basiert auf.
  • Sie können immer mit css. Zum Beispiel, schließen Sie jede checkbox/label in einem div mit float:left; width:20%;. Hinweis: CheckBox ist ein Helfer für die Darstellung einer checkbox verbunden mit einem boolean Eigenschaft, die Sie deutlich, nicht zu tun, so können Sie manuell fügen Sie den html-Code und reduzieren Sie Ihre html wesentlich. Und wie zum Teufel tun wir das richtig in MVC? Begründen Sie Ihre Ansichten auf Ansicht-Modelle (nicht Daten-Modelle)
  • Dank Stephen. Ich hätte nie gedacht, erweitern das Modell durch die Schaffung eines anderen Modells außerhalb der DAL. Krank spielen mit dieser Idee. Ich denke, dass fix me up richtige. Danke!
Schreibe einen Kommentar