Вы имеете в виду, что вы не можете передать данные контроллеру, потому что привязка модели не удалась. Это потому, что ваш asp -for = "item.xxx", поэтому ваши переданные данные будут такими.
If you want to bind the data,Here is a demo worked:
Controller:
[HttpGet]
public ActionResult EditPersonnelModel()
{
EditViewModel e = new EditViewModel();
List list = new List { new PersonnelModel { id = 1, Email = "123@123", Nom = "n1", Prenom = "p1", Statut = "s1", Telephone = "123" }, new PersonnelModel { id = 2, Email = "1234@1234", Nom = "n2", Prenom = "p2", Statut = "s2", Telephone = "1234" } };
e.personnels = list;
return View(e);
}
[HttpPost]
[Route("id")]
public ActionResult EditPers(PersonnelModel p)
{
EditViewModel e = new EditViewModel();
List list = new List { new PersonnelModel { id = 1, Email = "123@123", Nom = "n1", Prenom = "p1", Statut = "s1", Telephone = "123" }, new PersonnelModel { id = 2, Email = "1234@1234", Nom = "n2", Prenom = "p2", Statut = "s2", Telephone = "1234" } };
e.personnels = list;
return View("EditPersonnelModel",e);
}
EditViewModel:
public class EditViewModel
{
public List personnels { get; set; }
}
PersonnelModel:
public class PersonnelModel
{
public string Nom { get; set; }
public string Prenom { get; set; }
public string Email { get; set; }
public string Telephone { get; set; }
public string Statut { get; set; }
public int id { get; set; }
}
View:
@model EditViewModel
@{
ViewData["Title"] = "EditPersonnelModel";
}
EditPersonnelModel
@foreach (var item in Model.personnels)
{
спасти }
Результат: введите описание изображения здесь