이 문제를 해결할 수있는 사람이 있습니까? 내가 컨트롤러에 내 사용자 정의 viewmodel의 ienumerable 또는 그냥 간단한 목록을 전달하고 싶습니다. 내 코드 프로그래머 :MVC 전달 IEnumerable 컨트롤러
@model IEnumerable<WebWareApp.ViewModels.OstukorvVM>
@{
ViewBag.Title = "Ostukorv";
}
<h2>Hetkel ostukorvis olevad tooted:</h2>
@using (Html.BeginForm("Create", "ToodeTellimuses"))
{ @Html.AntiForgeryToken()
<table>
<tr>
<th>Tootenimi</th>
<th>Tootegrupp</th>
<th>Tootja</th>
<th>Mõõdud</th>
<th>Varvus</th>
<th>Hind</th>
<th>Vali Kogus</th>
<th></th>
</tr>
@{if (Model != null)
{
foreach (var item in Model)
{<tr>
<td>
@Html.DisplayFor(modelitem => item.Toode.Nimi)
@Html.HiddenFor(modelitem => item.Toode.Nimi)
</td>
<td>
@Html.DisplayFor(modelitem => item.Toode.Tootegrupp.Nimetus)
@Html.HiddenFor(modelitem => item.Toode.Tootegrupp.Nimetus)
</td>
<td>
@Html.DisplayFor(modelitem => item.Toode.Tootja)
@Html.HiddenFor(modelitem => item.Toode.Tootja)
</td>
<td>
@Html.DisplayFor(modelitem => item.Toode.Pikkus) x @Html.DisplayFor(modelitem => item.Toode.Laius) x @Html.DisplayFor(modelitem => item.Toode.Korgus)
@Html.HiddenFor(modelitem => item.Toode.Pikkus) @Html.HiddenFor(modelitem => item.Toode.Laius) @Html.HiddenFor(modelitem => item.Toode.Korgus)
</td>
<td>
@Html.DisplayFor(modelitem => item.Toode.Varvus)
@Html.HiddenFor(modelitem => item.Toode.Varvus)
</td>
<td>
@Html.DisplayFor(modelitem => item.Toode.Hind)
@Html.HiddenFor(modelitem => item.Toode.Hind)
</td>
<td>
@Html.EditorFor(modelitem => item.kogus)
</td>
<td>
@String.Format("Laos olemas {0}",item.Toode.Kogus)
@Html.HiddenFor(modelitem => item.Toode.Kogus)
</td>
</tr>
}
}}
</table>
<input type="submit" value="Telli">
}
을 그러나 문제는 내 컨트롤러에 내가 들어오는 모델 필드는 항상 내가 여기 내 뷰 모델 및 모델과 컨트롤러를 게시 할 수 있습니다 필요한 null.If debugg 때이다.
모델 바인딩이 작동하려면 for 루프로 전환해야합니다. http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx를 참조하십시오. –
그렇다면 목록에있는 항목에 어떻게 액세스 할 수 있습니까? 나는 더 이상 "modelitem => item.Toode.Value"를 사용할 수 없다. 그리고 나는 m => m [i]를 사용할 수없는 것처럼 보인다. Toode.Value. – Marek