ビューにチェックボックスのリストの2つのセットを生成しようとしています。それはすべて Post アクションとは別に機能します。送信時に、ParentViewModel が ChildViewModel を適切にバインドしていません。FirstCheckboxList モデル。SecondCheckboxList 上記の両方が null になります。
何が欠けているのかわかりません。これに関するヘルプは素晴らしいでしょう。前もって感謝します。
CheckboxItems.cshtml
@model List<CheckboxItem>
@{
for (int i = 0; i < Model.Count(); i++)
{
<div>
@Html.CheckBoxFor(x => x.ElementAt(i).Checked, new { @id = Model.ElementAt(i).Id, onclick = "GetValue()" })
<span id="Padded">@Model.ElementAt(i).Text</span>
</div>
}
}
MainView.cshtml
@Html.BeginForm(){
@Html.EditorFor(m=> m.FirstCheckboxList,"CheckboxItems")
@Html.EditorFor(m=> m.SecondCheckboxList, "CheckboxItems")
}
@Html.TextBoxFor(m => m.FSelected, new Dictionary<string,object>() {{"readonly",true}})
@Html.TextBoxFor(m => m.FUniverse,new Dictionary<string,object>() {{"readonly",true}})
<input type="submit" name="nextBtn" value ="Next" />
}
ParentViewModel
public class ParentViewModel
{
public int PId { get; set; }
public IEnumerable<CheckboxItem> FirstCheckboxList{ get; set; }
public IEnumerable<CheckboxItem> SecondCheckboxList{ get; set; }
public Int64 FSelected { get; set; }
public Int64 FUniverse { get; set; }
}
CheckboxItem : 子ビュー モデル
public class CheckboxItem
{
public int Id { get; set; }
public string Text { get; set; }
public bool Checked { get; set; }
}
コントローラーアクション
[HttpPost]
public ActionResult MyCheckboxView(int planid, ParentViewModel model, string nextBtn)
{
// do something
return View(Model);
}