Ich habe ein Problem mit dem Binden meiner Radiobutton-Modelldaten an meine Radiobuttons. Wenn ich einen Datensatz einfüge, wird das ausgewählte Kontrollkästchen aktiviert. Wenn ich jedoch denselben eingefügten Datensatz bearbeite, wird der Radiobutton, der dem Modelldatenwert entspricht, nicht ausgewählt.MVC 5 - Return Radiobutton-Auswahl basierend auf Modelldaten (auf der Bearbeitungsseite)
Ich habe 3 verschiedene Radio-Buttons, die als char (1) -Werte in meine Datenbank eingefügt werden.
My RadioButton- Ansicht:
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.Pigeon.pigeonid)
@{
var _Small = Model.Pigeon.size + "_Small";
var _Medium = Model.Pigeon.size + "_Medium";
var _Big = Model.Pigeon.size + "_Big";
}
<div class="form-group">
@Html.LabelFor(m => m.Pigeon.size, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary">
@Html.RadioButtonFor(m => m.Pigeon.size, "s", new { @id = _Small, name = "size" }) Small
</label>
<label class="btn btn-primary">
@Html.RadioButtonFor(m => m.Pigeon.size, "m", new { @id = _Medium, name = "size" }) Medium
</label>
<label class="btn btn-primary">
@Html.RadioButtonFor(m => m.Pigeon.size, "b", new { @id = _Big, name = "size" }) Big
</label>
</div>
</div>
</div>
</div>
}
Die Daten, die eingefügt wird, ist 'S', 'M' oder 'B'. Dies funktioniert gut für die Erstellungsseite, aber die Bearbeitungsseite gibt die Auswahl nicht wieder.
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.Pigeon.pigeonid)
<div class="form-group">
@Html.LabelFor(m => m.Pigeon.size, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary">
@Html.RadioButtonFor(m => m.Pigeon.size, "s", Model.Pigeon.size == "s" ? new { @checked = "checked" } : null) Small
</label>
<label class="btn btn-primary">
@Html.RadioButtonFor(m => m.Pigeon.size, "m", Model.Pigeon.size == "m" ? new { @checked = "checked" } : null) Medium
</label>
<label class="btn btn-primary">
@Html.RadioButtonFor(m => m.Pigeon.size, "b", Model.Pigeon.size == "b" ? new { @checked = "checked" } : null) Big
</label>
</div>
</div>
</div>
</div>
}
Aber das ist auch nicht:
Ich habe schon mehrere Dinge wie diese versucht. Checked scheint nicht zu funktionieren, da die Auswahl durch die Klasse "Active" auf dem Etikett bestimmt wird. Irgendeine Ahnung, wie man das zur Arbeit bringt?
zeigen Sie uns Ihre 'Einfügen' und' Edit' Methoden – jamiedanq