Sende ein ViewModel welches eine Liste mit einem Html.BeginForm (MVC 4) enthält
Mein Ansichtsmodell enthält eine Ganzzahlliste. Ich habe das Problem, dass beim Senden meines modifizierten Formular-Ansichtsmodells immer null angezeigt wird.
Mein ViewModel:public class testViewModel
{
public List<int> itemTest { get; set;
}
Aktion in meinem Controller:Ich werde beispielsweise versuchen, die in das Formular eingegebenen neuen Werte zu summieren, aber die berechnete Summe ist immer gleich 0, es ändert sich nichts.
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 });
}
Meine Sicht @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" />
}
Danke, hilf mir freundlich