.Net Coreにチェックボックスリストを実装しようとしていますが、いくつかの問題があります。.NETコアのチェックボックスリストを実装する
私のViewModel:
public class GroupIndexViewModel
{
public Filter[] Filters { get; set; }
}
public class Filter
{
public int Id { get; set; }
public string Name { get; set; }
public bool Selected { get; set; }
}
マイビュー:それはビューで選択されていても
@model GroupIndexViewModel
<form asp-action="Index" asp-controller="Group" method="get">
<ul>
@for (var i = 0; i < Model.Filters.Length; i++)
{
<li>
<input type="checkbox" id="@Model.Filters[i].Name" asp-for="@Model.Filters[i].Selected" value="@Model.Filters[i].Selected" checked="@Model.Filters[i].Selected" />
<label for="@Model.Filters[i].Name">@Model.Filters[i].Name</label>
</li>
}
</ul>
<button type="submit" name="action">Filtrer</button>
</form>
私のコントローラへの投稿、私のviewmodelのFilterプロパティがfalseの選択と表示されます。
'Html.CheckboxFor(m => m.Filters [i] .Name)'を使ってみましたか? – Dai
また、レンダリングされたHTMLはあなたの既存のRazorコードのように見えますか? – Dai
asp-forプロパティにチェックボックス入力フィールドのほかにcheckedプロパティまたはvalueプロパティを指定すると、実際のチェックボックス状態はPOSTアクションに正しく渡されません。あなたがasp-forと一緒にそれを残しておけば、それはうまくいくでしょう。 –