Kendo MVC TreeList无法从初始BindTo渲染

时间:2018-11-29 16:57:29

标签: asp.net-mvc kendo-ui kendo-treelist

我的MVC ViewModel包含要在我的Kendo TreeList中显示的记录的初始列表。但是,TreeList不会呈现初始列表...而且我不明白为什么。

要求:

  • 如果存在初始记录...请显示它们
  • 无法在初始渲染上执行READ ACTION(其他控件稍后会对其进行管理)

对于其他Kendo控件,您可以设置:

  • AutoBind(false)
  • BindTo(Model.MyCollectiom)

...并且读取操作不执行。但是TreeList目前正在失败。

我的剃刀看起来很像
最初的渲染记录确实存在(请参见下图)

@(Html.Kendo().TreeList<DeviceHierarchyDataItem>()
              .Name("treeTarget")
              .Columns(columns =>
              {
                  columns.Add().Field(e => e.DisplayName)
                               .TemplateId("tmplDisplayName")
                               .Title(" ");
              })
              .BindTo(Model.TargetDevices)
              .AutoBind(false)
              .DataSource(dataSource => dataSource
                         .Read(read => read.Action("find", "devicehierarchy", new { Area = "" })
                                           .Data("window.etp.pageController.getFilter"))
                         .ServerOperation(false)
                         .Model(m =>
                         {
                             m.Id(f => f.Id);
                             m.ParentId(f => f.ChildOf);
                             m.Expanded(true);
                             m.Field(f => f.DisplayName);
                         }))
              .Sortable())

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

奇怪的是TreeList MVC控件不支持绑定到本地数据... 至少不在july 2018 ...

建议改用jquery control

然后将模型中的数据转换为json字符串:

$(document).ready(function () {
                var dataSource = new kendo.data.TreeListDataSource({
                    data: @Html.Raw(Json.Encode(@Model.TargetDevices)),
                    schema: {
                        model: {
                        id: "Id", 
                        parentid: "ChildOf", 
                        expanded: true
                        }
                    }
                });

希望对您有帮助!