ラジオボタンモデルデータをラジオボタンにバインドする際に問題があります。 レコードを挿入すると、選択したチェックボックスが無効になります。しかし、同じ挿入されたレコードを編集すると、モデルデータに等しいラジオボタンが選択されません。MVC 5 - モデルデータに基づくラジオボタンの選択(編集ページ)
私のデータベースにchar(1)値として挿入される3つの異なるラジオボタンがあります。
マイラジオボタンビュー:
@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>
}
挿入されるデータは 'M' または 'B'、 'S' です。 これは、作成ページでうまく動作しますが、編集ページでは選択されていません。
私はすでに、このように複数のものを試してみました:
@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>
}
しかし、これも動作しません。選択がラベルの「アクティブ」クラスによって決定されているため、チェックは機能していないようです。どのようにこれを動作させるための手掛かり?
あなたの 'Insert'と' Edit'メソッドを教えてください – jamiedanq