Я прочитал большую часть Google :-), но я не могу продолжить. Коллекция на моем объекте и остается пустой для публикации, независимо от того, что я делаю.ASP NET MVC 4 коллекция является нулевой на пост
My Model:
public class ArticleViewModel
{
public Guid EventId { get; set; }
public IList<ArticleItemViewModel> ArtikelListe { get; set; }
public decimal GesamtpreisNetto { get; set; }
public decimal MwSt { get; set; }
}
и
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; }
}
Моего Вид:
@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>
}
На посте, я получаю свой ViewModel назад и имеет Коллекцию ArtikelListe с 15 пунктов (thats correct), но все они ноль!
В моем HTTP заголовок я получаю следующую запись данных:
EventId:824e7f3c-7190-4ebb-aa60-51b57c977b1e
ArtikelListe:
ArtikelListe[1].Anzahl:0
ArtikelListe[2].Anzahl:1
ArtikelListe[3].Anzahl:0
submitButton:Nächste
Интересно, почему только частичные данные передаются withon на HTTP POST, и почему все мои элементы списка являются недействительными. Я попытался сделать за и для forach. такой же результат.
Любые идеи? Я беспомощна.
Спасибо вам! Если я удалю, вся коллекция будет пустой для сообщения. Я проверю ваш код сейчас. –
Если я удалю или переименую имя скрытого поля. Вот что я хотел сказать :-) –
Ваш код отлично работает. Но у меня все еще есть пустая коллекция в моем коде. Что-нибудь еще вы изменили? Я просто не могу получить его ... –