我正在尝试通过Kendo TreeView显示文件夹结构...如果我在视图中插入项目,它可以正常工作。当我尝试使用远程数据绑定时,它只显示父节点,并且没有可扩展的选项...即使文件夹中有其他文件夹/文件。这是代码:
Html.Kendo().TreeView()
.Name("DownloadTreeView")
.DataTextField("Name")
.DataSource(dataSource => dataSource
.Read(read => read.Action("GetFiles", "DownloadSettings"))
)
.ExpandAll(true)
.Render();
public JsonResult GetFiles(string path)
{
const string StartDirectory = @"L:\dsms\assets";
path = path ?? StartDirectory;
var files = Directory.GetFiles(path).Select(file =>
new DownloadTreeViewVM
{
Id = file,
HasChildren = false,
Name = Path.GetFileName(file)
});
var directories = Directory.GetDirectories(path).Select(dir =>
new DownloadTreeViewVM
{
Id = dir,
HasChildren = Directory.GetFiles(dir).Any() || Directory.GetDirectories(dir).Any(),
Name = Path.GetFileName(dir)
});
var result = files.ToList();
result.AddRange(directories);
result = result.OrderBy(x => !x.HasChildren).ToList();
return Json(result, JsonRequestBehavior.AllowGet);
}
有什么想法吗?
提前谢谢。
答案 0 :(得分:0)
你应该将你的参数作为可空字符串传递并将其重命名为id试试这个:
public JsonResult GetFiles(string? id)
{
//then do your stuff
}
并从树视图中删除ExpandAll(true)