telerik - Telerik MVC DropDownTree 的数据源错误
问题描述
我的 Telerik MVC Dropdowntree 报告数据源的错误“对象不支持属性或方法‘级别’”。
有人可以看看下面并告诉我出了什么问题吗?
MVC 看起来像这样
@(Html.Kendo().DropDownTree()
.Name("dropdowntree")
.DataTextField("Name")
.DataValueField("Id")
.HtmlAttributes(new { style = "width: 100%" })
.DataSource(dataSource => dataSource
.Read(read => read
.Action("DoLayers2", "Dev")
)
)
)
我的控制器返回以下 JSON:
[
{
"Id":1,
"ParentCategoryId":0,
"Name":"First Layer",
"items":[
{
"Id":2,
"ParentCategoryId":1,
"Name":"First SubLayer1",
"items":[
]
},
{
"Id":3,
"ParentCategoryId":1,
"Name":"First SubLayer2",
"items":[
]
},
{
"Id":4,
"ParentCategoryId":1,
"Name":"First SubLayer3",
"items":[
]
}
]
},
{
"Id":5,
"ParentCategoryId":0,
"Name":"Second Layer",
"items":[
{
"Id":6,
"ParentCategoryId":5,
"Name":"Second SubLayer1",
"items":[
]
},
{
"Id":7,
"ParentCategoryId":5,
"Name":"Second SubLayer2",
"items":[
{
"Id":8,
"ParentCategoryId":7,
"Name":"Sub -3",
"items":[
]
}
]
}
]
}
]
显然我的帖子代码太多,细节不够,所以我不得不在帖子末尾写一些愚蠢的东西来欺骗系统允许我发布它。这很烦人。
解决方案
我不确定您是否可以返回整个树并将其绑定到下拉树...
如果您查看Telerik 的演示,您会发现它们一次只返回一个级别,所以在您的情况下,我认为它首先只需要第一级 Id:1 和 Id:5,然后它会自动为每个分支请求第二级。 ..(Id:1 将返回 2、3、4,Id:5 将返回 6、7,Id:7 将返回 8)
如果每个节点有任何子节点,您还必须返回:
[
{ "Id":1, "Name":"First Layer", "hasChildren": true },
{ "Id":5, "Name":"Second Layer", "hasChildren": true }
]
希望能帮助到你!
推荐阅读
- python - 列出在 Python 中滚动六面骰子的每次迭代
- git - 在现有分支上创建另一个分支
- git - Git - 多环境开发
- windows - 如何使用批处理文件在 Windows 10 中删除具有特定名称的文件?
- java - Azure 应用配置功能管理
- java - Spring boot 或 maven 损坏二进制文件,仅在生产中
- css - 如何使用 Vue.js 在 CSS 网格中显示项目
- macos - 请求用户的“root”访问权限以更新“/etc/paths.d”
- c# - Azure w/TLS/SNI 上的 .net httpclient:请求被中止:无法创建 SSL/TLS 安全通道
- hyperledger-fabric - 由于同意者错误,创建 mychannel 拒绝交付请求