Wie codiere ich in MVC 6 die Kontrollkästchenliste in der Ansicht und übergebe die überprüften Werte an die Steuerung?
Tut mir leid, aber die meisten meiner Suchanfragen führen mich zu alten MVC-Codes. Jede Hilfe wird geschätzt.
Wie codieren Sie in MVC 6 mit Tag-Hilfsprogrammen eine Reihe von Kontrollkästchen?
Verwenden Sie den Tag-Helfer für die Beschriftung. Wenn Sie darauf klicken, wird der aktivierte Wert umgeschaltet.Speichern (Binden?) Des markierten Werts an die IsOptionSelected-EigenschaftLeiten Sie diese überprüften Werte an den Controller zurück, nachdem Sie auf Submit @ geklickt habe?
Ich konnte die Kontrollkästchen mit Beschriftungen korrekt anzeigen, aber ich weiß nicht, wie ich die überprüften Werte über das Modell an die Steuerung zurückgeben kann. Im Moment werden IsOptionSelected-Werte als false zurückgegeben.
Ich konnte auch den HTML-Helfer für das Label zum Laufen bringen, aber nicht für den Tag-Helfer. Ich kann diese auch alle falsch kodieren, also helfen alle mögliche Spitzen!
Hier ist was ich bisher habe:
Anzeige
Entität
public class PhoneOption
{
public bool IsOptionSelected { get; set; } = false;
public int OptionId { get; set; }
public string OptionName { get; set; }
}
Modell
[Display(Name = "Phone Options")]
public IEnumerable<PhoneOption> PhoneOptions { get; set; }
. . . .
PhoneOptions = repository.GetPhoneOptions();
Repository
public IEnumerable<PhoneOption> GetPhoneOptions()
{
IEnumerable<PhoneOption> options = new[]
{
new PhoneOption { OptionId = 1, OptionName = "Phone Case", IsOptionSelected = false },
new PhoneOption { OptionId = 2, OptionName = "Screen Protector", IsOptionSelected = false },
new PhoneOption { OptionId = 3, OptionName = "Car Charger", IsOptionSelected = false },
new PhoneOption { OptionId = 4, OptionName = "Extra Cable", IsOptionSelected = false }
};
return options;
}
Aussicht
<div class="form-group">
<label class="control-label">Phone Options</label>
<div>
@foreach (var option in Model.PhoneOptions)
{
<div>
@{ string cbId = "PhoneOption_" + @option.OptionId; }
<input [email protected] type="checkbox" [email protected] id=@cbId name=@cbId />
@Html.Label(@cbId.ToString(), @option.OptionName)
@*This is causing invalid operation exception*@
@*<label [email protected]()>@option.OptionName</label>*@
<span asp-validation-for=@cbId class="text-danger" role="alert"></span>
</div>
}
</div>
</div>
Danke im Voraus