or
public class MyModel{ public string OtherStuff {get; set;} public IEnumerable<TreeViewItemModel> treeData { get; set; }}@model MyModel<text>@Model.SomethingElse</text> @(Html.Kendo().TreeView() .Name("treeview-left") .ExpandAll(true) .Checkboxes(checkboxes => checkboxes .Name("checkedPubIds") .CheckChildren(true) ) .BindTo(Model.treeData) )private MyModel GetMyModel() { var model = new PubTreeModel { OtherStuff = "Hello", treeData = GetTreeData() // implementation omitted here }; return model;}[HttpGet]public ActionResult Index(){ var model = GetMyModel(); return View(model);}[HttpPost]public ActionResult Index(MyModel model){ if (ModelState.IsValid) { // Access Violation, because model.treeData is null. Why? foreach (var x in model.treeData) { if (x.Checked) { // do something } } } // Have to do this or View(model) will break, // because there is no treeData in it. model = GetPubTreeModel(model.SelectedUserId); return View(model);}
