Wczytana kolekcja w relacji jeden do wielu ma przypisany null

0

Powiedzmy, że mam klasę Osoba z właściwościami Imie, Nazwisko i w niej kolekcję Adresów(klasa adresy) , relacja jeden do wielu.

W widoku edit, przy wywołaniu wszystkie dane się wczytują (ładowana jest model osoba z powiązaną listą adresów , problem zaczyna się kiedy na tym widoku, zmieniłem coś w jednym z adresów w kolekcji. Przy HttpPost Osoba.Adresy jest null. Cuduje z @Html.HiddenFor(modelItem=>modelItem.Adresy(0).Miasto) czy @Html.HiddenFor(modelItem=>modelitem.adresy) ale to chyba nie to. Czemu przy powrocie ta lista adresów w kolekcji jest null? Chciałbym pojąć, ale nie bardzo idzie 🙈🙊🙉

0

Nie jestem pewien czy o to chodzi w pytaniu, ale do modelu w metodzie post są przesyłane dane, które posiadają atrybut name. Atrybut name przypisuje się automatycznie podczas ustawienia asp-for. Sprawdź w inspekcji strony, czy każdy z Twoich elementów listy posiada atrybut name ustawiony na odpowiednią wartość, czyli w moim przypadku FirstNames[].
screenshot-20230124025711.png
Mimo, że do widoku przesłałeś kompletną listę, do podczas tworzenia modelu w metodzie POST do kontrolera zostanie przesłany tylko FirstName.
Select wygląda wtedy następująco:

<select name="FirstName"> (items) </select>

1 użytkowników online, w tym zalogowanych: 0, gości: 1