Я попытался передать список моделей контроллеру, но безуспешно.У меня проблема с генерацией пустого представления и передачей значений из заполненных форм в контроллер.Что у меня есть:
Модели
public class PostsModel
{
[Required]
[DataType(DataType.DateTime)]
public DateTime PublishDate { get; set; }
[Required]
public List<PostModel> Posts { get; set; }
}
public class PostModel
{
public string Language {get;set;}
public string X {get;set;}
public string Y {get;set;}
// and other properties
}
Контроллер
public IActionResult New()
{
ViewData["ButtonName"] = "Add";
return View(new PostsModel { PublishDate = DateTime.UtcNow });
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> New(PostsModel model)
{
if (ModelState.IsValid)
{
// some code
// never reaches this point
}
return View(model);
}
Форма:
<form method="post">
<h4>XYZ</h4>
<hr />
@{
Model.Posts = new List<PostModel>(2);
for (var i = 0; i < 2; i++)
{
Model.Posts.Add(new PostModel());
}
foreach (var test in Model.Posts)
{
<h4>xyz</h4>
<div class="form-group">
<label asp-for="@test.Subject">Temat</label>
<input asp-for="@test.Subject" class="form-control" />
<span asp-validation-for="@test.Subject" class="text-danger"></span>
</div>
}
}
<button type="submit" class="btn btn-primary">@ViewData["ButtonName"]</button>
</form>
Конечно, модель никогда не действительна.Я понятия не имею, как сделать такую функциональность.