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>

что я делаю не так?


Ответы (0 шт):