0
Razor code-Modell Eigenschaftswert ändert sich nicht von HTML-Checkbox in Rasierapparat
@model SkyTracker.Models.Person
<form method="post" action="Edit">
@Html.CheckBoxFor(m=> m.IsActive, new {@Value=Model.IsActive })
<input type="submit" value="Update"/>
</form>
Controller-Code-
[HttpPost]
public ActionResult Edit(Person person)
{
var status = person.IsActive; //its always false.
}
Ob Kontrollkästchen aktiviert ist oder nicht markiert, Modell Eigenschaft immer false bleibt.
Was habe ich hier vermisst?
Ändern Sie Ihren '@ Value' in' @ checked', dann erhalten Sie den Wert. –
Zuerst entfernen Sie 'new {@Value = Model.IsActive}' (die Methode setzt den Wert korrekt und Sie sollten niemals das Attribut 'value' überschreiben, wenn Sie eine 'HtmlHelper'-Methode verwenden). Wenn der Anfangswert von 'false' ist, dann ist die Einstellung' value = "False" 'also wird das übergeben, wenn das Kontrollkästchen aktiviert ist (und nicht' @ checked' verwenden) –