Przekazywanie powiązanych danych z widoku do kontrolera

0

Witajcie,
Od wczoraj próbuję rozgryźć jak przesłać z widoku do kontrolera dane z relacji, niestety nigdzie nie mogę znaleźć nic co by pasowało do mojego problemu. Może ktoś z Was robił coś podobnego bądź widział jakiś wpis na blogu o tym i skojarzy ;)

Problem polega na tym, że działam w pewnym widoku na modelu Recipe, do którego wcześniejsze dane zbierałem ViewModelem i były to jedynie Igredienty (czyli mój drugi model, który po środku ma oczywiście RecipeIngredients). W końcu, przed wygenerowaniem widoku połączyłem Ingredienty w oczekiwane Recipesy no i voilà - wyświetlają się ładnie przepisy, wybrane przez użytkownika składniki. Problem pojawia się tutaj - użytkownik ma wybrać sobie przepis z checklisty, a ja muszę w kontrolerze mieć informacje które składniki miały false... Przekazuję same składniki - nie wiem jakie przepisy wybrał użytkownik, przekazuję przepisy - nie wiem które składniki były false. Z widoku przesyłam to sobie poprzez formularz i pętle for, np. <input type="hidden" asp-for="@Model.Ingredients[i].Id" />, tylko nie mam koncepcji jak np. przesłać tutaj jako model Recipe, żeby zostały zachowane relacje z RecipeIngredients i potem z Ingredient, bo interesujący mnie false mam w Ingredients, a nazwę przepisu w Recipe.

Może ktoś z Was ma jakiś pomysł bądź robił coś podobnego, bo się po prostu zablokowałem i nie mam dobrego pomysłu na to :)

Edit: Dodam jeszcze, że przepisy i składniki stoją oczywiście w bazie, ale pole IsChecked mam NotMapped, gdyż każdy wchodzący użytkownik będzie miał tam swoje dane.

0

To przekaż przepis oraz listę składników (name lub id) które miałyby mieć true, a później to sobie odbuduj na backendzie.

Możesz też przesłać cały obiekt Recipe, a w nim Ingredients, ale nie będzie miał Id, itd. z bazy, ale nie wiem czy to dla ciebie istotne..

Zamiast asp-for, to polecam zwykły name. Nie wiem, mi asp-for bardziej utrudnia binding, o ile w ogóle jest możliwy do użycia, chociaż może o czymś nie wiem :D

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