У меня есть модель, у которой есть список моделей public List<BaseModuleModel> modules { get; set; }
В моем файле бритвы я делаю цикл для каждого цикла во всех этих модулях, а затем генерирую их частичное представление и передаю модель.
@foreach (BaseModuleModel module in Model.modules)
{
<div class="section row col-lg-8">
<div class="section-header">
<p class="header-text">@module.PartialName</p>
</div>
<div class="row col-lg-12 section-content">
@await Html.PartialAsync("~/Views/Partials/" + module.PartialName + "Partial.cshtml", module)
</div>
</div>
}
Это все работает как задумано.Но когда я отправляю свою форму, частичное представление не изменяет никакие переменные BaseModuleModels
в списке, и у всех них все переменные равны нулю.
Как мне сделать так, чтобы даже эти частичные представленияпривязать, когда я нажму отправить мою форму.
Частичное представление:
@model Lidmaatschap.Models.modules.VoorwaardenModule
<div class="row col-lg-12 section-content">
<div class="col-lg-6">
<label asp-for="PrivacyStatement" class="control-label"></label><br />
<input asp-for="PrivacyStatement" type="checkbox" value="false" /> Ik ga akkoord met de privacy voorwaarden.
<span asp-validation-for="PrivacyStatement" class="text-danger"></span>
</div>
<div class="col-lg-6">
<label asp-for="FirstName" class="control-label"></label>
<input asp-for="FirstName" class="form-control wide-full" />
<span asp-validation-for="FirstName" class="text-danger"></span>
</div>
</div>
Класс модели:
public class VoorwaardenModule : BaseModuleModel
{
public VoorwaardenModule() : base("Voorwaarden")
{
}
[Display(Name = "Privacy Verklaring")]
//[Range(typeof(bool), "true", "true", ErrorMessage = "Je moet akkoord gaan met het privacy beleid om door te gaan.")]
public bool PrivacyStatement { get; set; }
[Display(Name = "Voornaam")]
[Required]
public string FirstName { get; set; }
}
Мой Index.cshtml: https://pastebin.com/ErXcJz0a
MemberModel.cs
: https://pastebin.com/KaSVUV6Q
HomeController.cs
: https://pastebin.com/YNxJPvmX