asp.net core можно ли передать Dictionary из View в Controller
Изучаю asp.net core. Есть класс-модель
public class Settings
{
public int CurrentYear { get; set; }
public string CaptionInHeader_Post{ get; set; }
public string CaptionInHeader_Name{ get; set; }
public string CaptionInFooter_Post{ get; set; }
public string CaptionInFooter_Name{ get; set; }
public Dictionary<int, bool[]> Blocking { get; set; }
}
Экземпляр этого класса я передаю в представление, там по надобности меняю значения, и нужно вернуть измененные значения назад в контроллер. Как оформить форму, чтобы вернуть значения Dictionary<int, bool[]> Пробовал через asp-for: из контроллера на страничку данные уходят, чекбоксы соответствуют, а вот в контроллер уходит Null.
Через name не получается вернуть массив
<div class=" p-3">
@for (int i = 0; i < Model.Blocking.Count; i++)
{
<div class="form-check form-switch form-check-inline">
<input type="hidden" name="Blocking[@i].Key" value="@Model.Blocking.ToList()[i].Key" />
<input class="form-check-input" type="checkbox" name="Blocking[@i].Value[0]" value="@Model.Blocking.ToList()[i].Value[0]" />
<label class="form-check-label">План</label>
</div>
<div class="form-check form-switch form-check-inline">
<input class="form-check-input" type="checkbox" name="Blocking[@i].Value[1]" value="@Model.Blocking.ToList()[i].Value[1]" />
<label class="form-check-label">1-й квартал</label>
</div>
<div class="form-check form-switch form-check-inline">
<input class="form-check-input" type="checkbox" name="Blocking[@i].Value[2]" value="@Model.Blocking.ToList()[i].Value[2]" />
<label class="form-check-label">2-й квартал</label>
</div>
<div class="form-check form-switch form-check-inline">
<input class="form-check-input" type="checkbox" name="Blocking[@i].Value[3]" value="@Model.Blocking.ToList()[i].Value[3]" />
<label class="form-check-label">3-й квартал</label>
</div>
<div class="form-check form-switch form-check-inline">
<input class="form-check-input" type="checkbox" name="Blocking[@i].Value[4]" value="@Model.Blocking.ToList()[i].Value[4]" />
<label class="form-check-label">4-й квартал</label>
</div>
}
</div>
что я делаю не так?