Cześć,
Nie wiem gdzie skopałem kod, ale z widoku do kontrolera nie trafia moja właściwość Day.DayName. Id trafia normalnie tak jak MealsToSelect...
Moja metoda przechwytująca żądanie POST:
public IActionResult OnPost(DayModel dayModel)
{
//myCode
}
Mój html
@page
@model MealApp.Pages.DayDiet.AddDayModel
@{
<h1>Dodawanie dnia diety</h1>
<form method="post" class="mt-3">
<input hidden asp-for="@Model.Day.Id" />
<div class="form-group row">
<label asp-for="@Model.Day.DayName" class="col-sm-2 col-form-label">
</label>
<div class="col-sm-10">
<input asp-for="@Model.Day.DayName" class="form-control" placeholder="Nazwa dnia">
</div>
</div>
<div class="form-group row">
<label asp-for="Day.MealsToSelect" class="col-sm-2 col-form-label">
</label>
<div class="col-sm-10">
@Html.ListBox("ids", @Model.Day.MealsToSelect, new { @class = "form-control" })
</div>
</div>
<div class="form-group row">
<div class="col-sm-10">
<button type="submit" class="btn btn-primary">Utwórz dzień diety</button>
<a asp-page="/DayDiet/Index" class="btn btn-danger">Cancel</a>
</div>
</div>
</form>
}
I na koniec mój model:
public class DayModel
{
public int Id { get; set; }
public string DayName { get; set; }
public int DietId { get; set; }
public List<DayDietMeals> DayDietMeals { get; set; }
[DisplayName("Posiłki do wyboru")]
public MultiSelectList MealsToSelect { get; set; }
public int[] ids { get; set; }
}