Я ищу, чтобы реализовать checkboxlist в .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>
При проводке в мой контроллер, свойство Filter в моем ViewModel показывает выбранный ложным, даже если она выбрана в.
Вы пытались использовать 'Html.CheckboxFor (m => m.Filters [i] .Name)' вместо? – Dai
Также, как выглядит визуализированный HTML с вашим существующим кодом Razor? – Dai
Если для поля ввода флажка в дополнение к свойству asp-for вы указываете свойство checked и/или value, то фактическое состояние флажка не будет передано правильно в действие POST. Если вы оставите это с помощью asp-for, тогда это сработает. –