0

这是我的树视图:

function CreateNotificationTree(UserId)
{
    var data = new kendo.data.HierarchicalDataSource({
        transport: {
            read: {
                url: "../api/notifications/byuserid/" + UserId,
                contentType: "application/json"
            }
        },
        schema: {
            model: {
                children: "notifications"
            }
        }
    });

    $("#treeview").kendoTreeView({
        dataSource: data,
        loadOnDemand: true,
        dataUrlField: "LinksTo",
        checkboxes: {
            checkChildren: true
        },
        dataTextField: ["notificationType", "NotificationDesc"]
    });
}

我添加了配置“dataUrlField”,但我不确定如何将 dataTextField“NotificationDesc”配置为也可以在 API 中找到的超链接。

API"../api/notifications/byuserid/"带回了树视图的数据以及我需要的链接。以下是 API 返回的内容:

<ArrayOfNode xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http....WebUI.Controllers" debug="true">
<script id="FirebugLite" firebugIgnore="true" extension="Chrome"/>
<Node>
   <notificationType>Edit Items</notificationType>
      <notifications>
         <Notification>
            <ActionPageName>abc/ViewMembers.aspx</ActionPageName>
            <ID>10285433</ID>
            <NotificationDesc>2013 project</NotificationDesc>
            <NotificationLink>
                 //the link I need is here
            </NotificationLink>
            <Params>...</Params>
            </Notification>
...
4

1 回答 1

3

我想出了如何做到这一点:

$("#treeview").kendoTreeView({
        dataSource: data,
        loadOnDemand: true,
        dataUrlField: "LinksTo",
        checkboxes: {
            checkChildren: true
        },
        dataTextField: ["notificationType", "NotificationDesc"],
        select: treeviewSelect
    });

function treeviewSelect(e)
    {
        var node = this.dataItem(e.node);
        window.open(node.NotificationLink, "_self");
    }
于 2013-08-07T00:16:44.020 回答