Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASPNET Mvc上带有复选框的剑道树列表_Asp.net Mvc_Checkbox_Kendo Ui_Treelist - Fatal编程技术网

Asp.net mvc ASPNET Mvc上带有复选框的剑道树列表

Asp.net mvc ASPNET Mvc上带有复选框的剑道树列表,asp.net-mvc,checkbox,kendo-ui,treelist,Asp.net Mvc,Checkbox,Kendo Ui,Treelist,我在ASPNET Mvc应用程序中使用剑道(我几乎从未使用过剑道),我需要创建一个带有复选框的树列表:选中父亲应选中所有孩子,取消选中孩子应取消选中父亲(和祖父,等等)。 树本身工作得很好:我添加了一个带有自定义模板的列,并且(成功地)使用onClick事件来获取复选框的值,但是我不知道如何将该值“绑定”到树的节点(以到达每个子节点并选中它) 代码如下: @(Html.Kendo().TreeList<TreeElem>() .Name("treelist") .Column

我在ASPNET Mvc应用程序中使用剑道(我几乎从未使用过剑道),我需要创建一个带有复选框的树列表:选中父亲应选中所有孩子,取消选中孩子应取消选中父亲(和祖父,等等)。 树本身工作得很好:我添加了一个带有自定义模板的列,并且(成功地)使用onClick事件来获取复选框的值,但是我不知道如何将该值“绑定”到树的节点(以到达每个子节点并选中它)

代码如下:

@(Html.Kendo().TreeList<TreeElem>()
  .Name("treelist")
  .Columns(col =>{                                                                
     col.Add().Field(f => f.NodeDescription).Title("TREE LIST");
     col.Add().Template("<input type='checkbox' data-bind='checked: checked' onClick='onCheck(event)'/>").Width(55);
   })
   .DataSource(source => source.Read(read => read.Action("GetData", "TreeController"))
   .Model(m => {                                                                                                
             m.Id(f => f.NodeId); 
             m.ParentId(f => f.ParentId);
             m.Field(f => f.NodeDescription);
       })
    )
)
我想根据选中的复选框从data()(或view())获取正确的节点。每个节点都有对其子节点和父节点的引用,因此在此之后递归函数应该很简单。 我已经寻找并尝试了很多解决方案,但几乎没有结果,有什么想法吗?
谢谢

剑道jQuery是您的选择吗?以下是您需要实现的内容:我在这里找到了AspnetMVC,因此您已经有了一个包含演示和所有内容的解决方案。你尝试过这个解决方案吗?我实际上是在尝试你的第一个链接,问题是使用了TreeView而不是TreeList。TreeView不允许指定节点的类型(在我的例子中是TreeElem),并且(我认为)只接受Json,所以我必须解析所有内容(我希望避免解析,除非我别无选择)。抱歉,我读错了。对于列表,也有一个事件绑定检查onEdit,但在文档中它声明选择也是可能的:对于默认情况下禁用的选择,我被专门要求设置复选框,我认为不会触发onEdit事件(但我将尽快尝试)。我认为,选择并不能解决问题,因为它只允许用户选择一个元素或多个元素。这意味着他可以选择两位父亲,而我需要将其限制为一位父亲和每个孩子(我的错,我应该在问题中指定)
function onCheck(e) {
  console.log(e.target.checked); //print true/false according to the checkbox
  console.log($("#treelist").data('kendoTreeList').dataSource.data()); //print the complete node list 
  //Other stuffs
}