我使用一個視圖模型,然後我什麼時候發送到一個ActionResult其使用 (修改後的視圖模型)傳遞視圖模型來的ActionResult創建新的視圖模型
但在控制器,我失去了在列表中的對象我視圖模型。這是我的看法:
@using PigeonFancier.Models
@model PigeonFancier.Models.InschrijvingModel
@using (Html.BeginForm("UpdateInschrijvingen","Melker",Model))
{
<div>
<fieldset>
<table>
@foreach (var item in Model.inschrijvingLijst)
{
<tr>
<td>@Html.DisplayFor(model => item.Duif.Naam)</td>
<td> @Html.CheckBoxFor(model => item.isGeselecteerd)</td>
</tr>
}
</table>
<input type="submit" value="Wijzigen"/>
</fieldset>
</div>
}
這是我的控制器,這在目前什麼也不做,直到我能得到完整的視圖模型從視圖回來。
public ActionResult UpdateInschrijvingen(InschrijvingModel inschrijvingsModel)
{
// inschrijvingsModel is not null, but it creates a new model before
it comes here with
//Use the model for some updates
return RedirectToAction("Inschrijven", new { vluchtId =
inschrijvingsModel.vlucht.VluchtId });
}
這與列表和誰成爲空一些其他對象的模型,因爲它創建了一個新的模式,當它回來從欣賞到的ActionResult
public class InschrijvingModel
{
public Vlucht vlucht;
public Duivenmelker duivenmelker;
public List<CheckBoxModel> inschrijvingLijst { get; set; }
public InschrijvingModel()
{
// Without this i get, No parameterless constructor defined exception.
// So it uses this when it comes back from the view to make a new model
}
public InschrijvingModel(Duivenmelker m, Vlucht vl)
{
inschrijvingLijst = new List<CheckBoxModel>();
vlucht = vl;
duivenmelker = m;
foreach (var i in m.Duiven)
{
inschrijvingLijst.Add(new CheckBoxModel(){Duif = i,
isGeselecteerd = i.IsIngeschrevenOpVlucht(vl)});
}
}
到底哪裏出問題了怎麼我應該解決這個問題嗎?
感謝
Html.Hiddenfor Works的整數 但爲什麼沒有爲對象的工作? –
無法在隱藏字段中表示像那樣的對象。您需要表示組成對象的每個本地類型字段。 –
好吧,如果我爲每個本地域做它通過它,謝謝 –