c# - Kendo TreeView 服务器端绑定(bind)选择第一个父子节点

标签 c# asp.net kendo-ui

我目前在我的 MVC 应用程序中使用 Kendo Treeview 并将其绑定(bind)到我的 Model 属性,该属性是从 Controller 构建的列表类型。该绑定(bind)与 BindTo 方法完美配合。

我想做的无论是客户端还是服务器端,都是获取第一个父级的第一个子级,并在页面加载时应用 css k-state-selected (或其他方法来执行此操作)。但是我不确定将我的逻辑放入哪个事件中。我尝试使用 $(document).ready 但是此时 TreeView 对象尚未定义。

解决这个问题的最佳方法是什么?

谢谢。

最佳答案

您希望将逻辑放在 dataBound 事件中。将逻辑放入 TreeView 的 dataBound 事件中将确保 View 在页面上完全呈现,并且您将可以访问它的所有元素。他们讨论了 Kendo Grid View 的类似情况 here 。请参阅以下示例:

<div id="treeview"></div>

<script>
    $('#treeview').kendoTreeView({
        dataSource: [
            {
                text: 'foo',
                items: [
                    { text: 'bar' }
                ]
            }
        ],
        dataBound: function (e) {
            //get the tree view...
            var treeview = $('#treeview').data('kendoTreeView');

            //get first parent...
            var parentNode = treeview.dataSource.view()[0];

            //get first child...
            var childNode = parentNode.children.view()[0];

            //get item to select...
            var selectItem = treeview.findByUid(childNode.uid);

            //expand the tree and select the item...
            treeview.expand('.k-item');
            treeview.select(selectItem);
        }
    });
</script>

关于c# - Kendo TreeView 服务器端绑定(bind)选择第一个父子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19186046/

相关文章:

C# 获取程序集中的项目名称

asp.net - SQL Server,连接池与特殊情况下的静态连接

javascript - Kendo UI TreeView 自定义属性

c# - 确认如何在计划中使用 Stripe.net Customer

c# - 将用户详细信息存储在字典中

asp.net - 无法加载文件或程序集 'System.Web.Optimization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'

c# - 如何通过显示文本在 ASP.NET 下拉列表中设置所选项目?

asp.net-mvc-4 - 如何将数据从 Razor View Kendo UI DropDownList 传递到 Controller 变量?

css - 字符串到 HttpPostedFilebase

javascript - 使用 CefSharp 将字符串/JSON 从 C# 传递到 JS