c# - 如何查询 Kendo MVVM Treeview 模型

标签 c# asp.net-mvc mvvm kendo-treeview

我正在使用 Teleriks Kendo-UI 和 MVC 为这样的 Treeview 构建 MVVM 模型......

var viewModel = kendo.observable({
                isVisible: true,
                items: kendo.observableHierarchy(@Html.Raw(Json.Encode(Model.items))),
               ....

一切都很好,但是我在页面上有一些接受模型“事件”的 signalR 客户端,所以我添加了......
            addItem: function(parentId, item){
                // how do query the hierarchy?
            },
            deleteItem: function(itemId) {
                // again how do i query the hierarchy?
            },

... 到上述模型,以便在从我的 signalR 代码调用时接受这些事件通知。

我遇到的问题是我有一个层次结构,但不知道如何在此上下文中获取数据项,其中该项目具有给定的 id,然后将给定的项目添加到其子项。

我假设这是正确的方法,但对吗?

我的理论是“x 发生在服务器上”,这导致“通知客户端”调用“添加项目”传递父 ID 和要添加到树中的项目。
通过添加到模型中,项目应该“只出现在树中”。

但是我如何在客户端递归查询项目集合及其子项,因为在这种情况下我没有 linq ?

最佳答案

我认为你只需要编写一个递归函数来遍历层次结构并检查你想要的对象。

这个问题很相似:Underscore.js findWhere nested objects

如果您喜欢在 .NET 中使用 Linq,您可能需要查看 Underscore.jsLowDash 以了解 JavaScript 中的类似功能。

关于c# - 如何查询 Kendo MVVM Treeview 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24532563/

相关文章:

wpf - 如何使用MVVM Light在ViewModel之间传递变量?

c# - 可移植类库中的 Type.IsEnum 属性

c# - 我应该使用 WCF 还是原始套接字?

asp.net-mvc - 在强类型 View 中格式化可为空的 DateTime 字段

asp.net - Azure DocumentDB 和 Azure Blob 存储

c# - 多个 WPF 控件使用的 WCF 双工服务

c# - 数据集 - 无法读取 XML 1.1?

c# - C# 回调函数不是从 C++ 代码调用的

c# - 可以将私有(private)方法放在我的 Controller 中,还是应该使用 asp.net mvc 将它们分离到某种类型的帮助程序类中?

c# - Validation.ErrorTemplate 确实在绑定(bind)到对象属性时触发