Мне нужна помощь с этим, пожалуйста!
У меня есть эта модель:
public class MyModel
{
public int Id { get; set; }
public string Name { get; set; }
public string Value { get; set; }
}
У меня также есть EditorTemplate
@model MyProject.Models.MyModel
<div class="form-group">
<label class="col-md-2 control-label">@Html.DisplayFor(model => model.Name)</label>
<div class="col-md-10">
<input asp-for="@Model.Value" class="form-control"/>
<span asp-validation-for="@Model.Value" class="text-danger"></span>
</div>
</div>
Вид редактирования
@using Microsoft.AspNetCore.Mvc.ViewFeatures
@model List<MyProject.Models.MyModel>
@{
ViewData["Title"] = "Edit";
}
<div class="spaceUnderLogo">
<div class="row">
<div class="col-md-12 ">
<h2>Edit</h2>
<form id="manageMyModel" asp-controler="MyController" asp-action="Edit" method="post" class="">
<div class="form-horizontal">
<hr />
@Html.EditorForModel()
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-primary" />
</div>
</div>
</div>
</form>
</div>
</div>
</div>
И у MyController есть два метода:
[HttpGet]
public async Task<IActionResult> Edit()
{
List<MyModel> model = await GetCurrentInfoAsync();
return View(model);
}
[HttpPost]
public async Task<ActionResult> Edit(List<MyModel> model)
{
// here is where I have the issue
}
Как видите, у меня проблема с методом post.Когда я получаю представление, я отправляю 2 объекта: {Id = 1, Name = "A", Value = "9999"} и {Id = 2, Name = "B", Value = null}
РедактироватьB Значение свойства равно "8888", и в сообщении я получаю список только со свойством Value, например: {Id = 0, Name = null, Value = "9999"} и {Id = 0, Name = null,Значение = "8888"}
Есть идеи?