在kendo Treeview中获取所选节点的id

时间:2013-09-27 09:12:05

标签: asp.net kendo-ui

Kendo UI专家请帮助我..

我是Kendo ui的新手。我想在我的代码中返回kendo树视图中Selected节点的id。 但它只返回相同的节点。

在选择节点时我想将所选节点的ID返回到我的代码,并且在Code中我正在返回 该节点的子元素。

有没有简单的方法呢?

提前致谢..

我的代码

<script src="~/Scripts/kendo.treeview.min.js"></script>
<script>
    homogeneous = new kendo.data.HierarchicalDataSource({
        transport: {
            read: {
            url: "@Url.Action("datasourcefortree", "Home")",
            type: "POST",
            dataType: "json"
            }
        },
        schema: {
            model: {
            id: "ResourceID",
            hasChildren: true
            }
        }
    });

    $("#treeview").kendoTreeView({
        dataSource: homogeneous,
        dataTextField: "Resource"
    });

</script>

和homecontroller的datasourcefortree方法代码

[HttpPost]
public JsonResult datasourcefortree(int? NodeID)
{

    FNHSessionManager sessionManager = new FNHSessionManager(_connString, FNHSessionManager.DatabaseType.MsSql);
    FNHRepository repository = new FNHRepository(sessionManager);
    int nodevalue = 1;

    if (NodeID == null)
    {
        ResourceMaster tree = repository.RetrieveById(nodevalue);
        List node = new List{
            new ResourceMaster
            {
                ResourceID = tree.ResourceID,
                Resource=tree.Resource
            }
        };
        return Json(node, JsonRequestBehavior.AllowGet);
    }
    else
    {
        if (NodeID.HasValue)
        {
            nodevalue = NodeID.Value;
            IList childtreenode = repository.GetAllRecord(nodevalue);
            return Json(childtreenode, JsonRequestBehavior.AllowGet);
        }
        return (null);
    }
}

2 个答案:

答案 0 :(得分:11)

语法修复

$("#treeview").getKendoTreeView().dataItem(e.node).id

答案 1 :(得分:2)

试试这个:

$("#treeview").kendoTreeView({
        select: function(e) {    
            alert($("#treeview").getKendoTreeView().dataItem(e.node).ResourceID);
        },
//... other code                          
});