or
//previous columns code
columns.Bound(c => c.Duration).Title("Duration (h)").Width(150).ClientGroupFooterTemplate("Sum: #=sum#");
//following columns code
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);
}