Heim >Backend-Entwicklung >C++ >Wie behandle ich mehrere Checkbox -Auswahlen in ASP.NET -MVC mit stark getippten Modellen?
Effizient behandeln mehrere Kontrollkästchen -Auswahlen in ASP.NET MVC mit stark typisierten Modellen
ASP.NET -MVC -Anwendungen müssen häufig Benutzer mit Listen wählbarer Elemente mithilfe von Kontrollkästchen präsentieren. Das Verwalten mehrerer Kontrollkästchen -Auswahlen und das Zurückgeben von Daten an den Controller kann komplex sein. Dieser Artikel zeigt eine robuste Lösung mit stark typisierten Modellen und HTML -Helfern.
Die Herausforderung besteht darin, die gesamte Liste effektiv an die Ansicht weiterzugeben und nur die ausgewählten Elemente bei der Einreichung von Formularen genau abzurufen. Ein stark typisierter Ansatz bietet eine saubere und zuverlässige Lösung.
Modellstruktur:
Wir definieren zwei Ansichtsmodelle: eine für einzelne Rollen und eine für den Benutzer, die eine Liste von Rollen enthalten:
<code class="language-csharp">public class RoleVM { public int ID { get; set; } public string Name { get; set; } public bool IsSelected { get; set; } } public class UserVM { public UserVM() { Roles = new List<RoleVM>(); } public int ID { get; set; } public string Name { get; set; } public List<RoleVM> Roles { get; set; } }</code>
Implementierung anzeigen:
Die Ansicht nutzt eine for
-Schload und stark eingegebene HTML -Helfer, um die Kontrollkästchen zu generieren:
<code class="language-csharp">@for (int i = 0; i < Model.Roles.Count; i++) { @Html.CheckBoxFor(m => m.Roles[i].IsSelected) @Html.LabelFor(m => m.Roles[i].IsSelected, Model.Roles[i].Name) }</code>
Dieser Ansatz sorgt für eine ordnungsgemäße Bindung ausgewählter Werte an das Ansichtsmodell bei Formulareinreichung. Die IsSelected
Eigenschaft für jede Rolle spiegelt genau die Auswahl des Benutzers wider.
Controller -Aktion:
Nach der Einreichung von Formularen füllt die Controller -Aktion die UserVM
mit den ausgewählten Rollen automatisch basierend auf den Eigenschaftswerten IsSelected
. Sie können dann die ausgewählten Rollen nach Bedarf verarbeiten.
Diese Methode bietet eine klare, wartbare und effiziente Möglichkeit, mehrere Kontrollkästchen -Auswahlen in ASP.NET -MVC zu verarbeiten, wobei die mit manuellen Datenbearbeitung verbundenen Fallstricke vermieden werden. Die Verwendung stark typisierter Modelle verbessert die Code -Lesbarkeit und verringert das Fehlerrisiko.
Das obige ist der detaillierte Inhalt vonWie behandle ich mehrere Checkbox -Auswahlen in ASP.NET -MVC mit stark getippten Modellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!