C# 具有远程数据绑定的Kendo TreeView未显示子级

C# 具有远程数据绑定的Kendo TreeView未显示子级,c#,kendo-ui,telerik,treeview,C#,Kendo Ui,Telerik,Treeview,我试图通过Kendo TreeView显示文件夹结构…如果我在视图中插入项目,它工作正常。当我尝试使用远程数据绑定时,它只显示父节点,没有可展开的选项…即使文件夹中有其他文件夹/文件。代码如下: Html.Kendo().TreeView() .Name("DownloadTreeView") .DataTextField("Name") .DataSource(dataSource => dataSource

我试图通过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);
    }
有什么想法吗


提前谢谢。

您应该将参数作为可为null的字符串传递,并将其重命名为id。请尝试以下操作:

public JsonResult GetFiles(string? id)
{
  //then do your stuff
}

并从treeview中删除ExpandAll(true)

您应该将参数作为可为null的字符串传递,并将其重命名为id尝试以下操作:

public JsonResult GetFiles(string? id)
{
  //then do your stuff
}

并从树视图中删除ExpandAll(true)

谢谢您的回答。事实上我做到了:有孩子而不是“有孩子”…现在它起作用了…谢谢你的回答。实际上我是这样做的:有孩子而不是“有孩子”…现在它起作用了。。。