envia um ViewModel que contém uma lista com um Html.BeginForm (MVC 4)
Meu viewmodel contém uma lista de números inteiros, o problema que tenho é que quando eu mando o meu viewmodel modificado, ele é sempre igual a null.
Meu ViewModel:public class testViewModel
{
public List<int> itemTest { get; set;
}
Ação no meu controlador:Por exemplo, tentarei somar os novos valores inseridos no formulário, mas a soma calculada é sempre igual a 0, nada muda.
public ActionResult form(int nbre)
{
testViewModel montest = new testViewModel()
{
itemTest = new List<int>()
};
for(int i=0;i<nbre ;i++)
{
montest.itemTest.Add(0);
}
return View(montest);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult form(testViewModel maListe)
{
int somme = 0;
if (maListe.itemTest != null)
{
if (maListe.itemTest.Count() != 0)
{
foreach (var item in maListe.itemTest)
{
somme += item;
}
}
}
//listtest = maListe;
return RedirectToAction("test2", new { qte = somme });
}
Minha visão @model MvcWebRole1.ViewModels.testViewModel
@{
ViewBag.Title = "Formulaire";
}
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<table>
@foreach (var item in Model.itemTest)
{
<tr >
<td >
@Html.Label("Quantitée")
</td>
<td>
@Html.EditorFor(model => item)
@Html.ValidationMessageFor(model => item)
</td>
</tr>
}
</table>
<input type="submit" value="Valider" />
}
Obrigado gentilmente me ajude