ASP NET MVC 4-Auflistung ist null bei post
Ich habe die meisten Google gelesen :-), aber ich kann nicht fortfahren. Die Sammlung für mein Objekt ist und bleibt auf dem Postweg null, was auch immer ich tue.
Mein Modell
public class ArticleViewModel
{
public Guid EventId { get; set; }
public IList<ArticleItemViewModel> ArtikelListe { get; set; }
public decimal GesamtpreisNetto { get; set; }
public decimal MwSt { get; set; }
}
un
public class ArticleItemViewModel
{
public Guid EventId { get; set; }
public Guid Id { get; set; }
public string Artikelname { get; set; }
public string Artikelname_EN { get; set; }
public string Information { get; set; }
public string Information_EN { get; set; }
public decimal Preis { get; set; }
public bool MitAnzahl { get; set; }
public bool IstKategorie { get; set; }
public int Anzahl { get; set; }
public bool Checkbox { get; set; }
public int Reihenfolge { get; set; }
}
Meine Sicht
@using (Html.BeginForm("Next", "Article", FormMethod.Post))
{
@Html.HiddenFor(x => x.EventId)
<input type="hidden" name="ArtikelListe" />
for (var i = 0; i < Model.ArtikelListe.Count; i++)
// foreach (EventManager.ViewModels.ArticleItemViewModel artikelItem in Model.ArtikelListe)
{
<div>
<div>
@if (Model.ArtikelListe[i].IstKategorie)
{
@Html.LabelFor(x => x.ArtikelListe[i].Artikelname)<br />
@Html.LabelFor(x => x.ArtikelListe[i].Information)
}
else
{
if (Model.ArtikelListe[i].MitAnzahl)
{
@Html.TextBoxFor(x => x.ArtikelListe[i].Anzahl, new { @class = "field text fn" })
}
else
{
@Html.LabelFor(x => x.ArtikelListe[i].Anzahl)
}
@Html.LabelFor(x => x.ArtikelListe[i].Artikelname)<br />
@Html.LabelFor(x => x.ArtikelListe[i].Information)
}
</div>
</div>
}
Auf dem Post bekomme ich mein Viewmodel zurück und es hat eine Sammlung von ArtikelListe mit 15 Artikeln (das ist richtig), aber diese sind alle null!
n meinem HTTP-Header erhalte ich die folgenden Post-Daten:
EventId:824e7f3c-7190-4ebb-aa60-51b57c977b1e
ArtikelListe:
ArtikelListe[1].Anzahl:0
ArtikelListe[2].Anzahl:1
ArtikelListe[3].Anzahl:0
submitButton:Nächste
Ich frage mich, warum nur Teildaten auf dem http-Post gesendet werden und warum alle meine Listenelemente null sind. Ich habe versucht, von for und foreach zu rendern. gleiches Ergebnis.
Irgendwelche Ideen? Ich bin hilflos.