带有Json_data插件的JsTree自定义图标

时间:2011-08-17 15:01:22

标签: javascript jquery model-view-controller jstree

我在MVC网站上使用JsTree。我正在使用json_data插件来填充树。我的Controller操作使用我用来表示节点的类返回一个JsonResult。我一直在阅读关于如何为特定节点指定自定义图标的documentation,但我似乎无法做到正确。它似乎表明数据应该是一个包含标题和图标字符串的对象,但是当我尝试它时,这阻止了树的加载。我目前使用的类结构如下。

public class NodeModel
{
    public string data;
    public NodeAttribute attr;
    public string state = "closed";
    public string icon = "default/file.png";
}

public class ParentNodeModel : NodeModel
{
    public List<NodeModel> children;
}

public class NodeAttribute
{
    public string id;
    public string type;
}

有谁知道json数据应该是什么格式才能为每个节点提供一个单独的图标?如果可能的话,我想避免使用类型插件。

解决

更改我的类结构以使数据字符串成为新对象实际上是正确的格式。但是对于新结构,我的代码的另一部分崩溃了(现在修复)。所以这些类现在看起来像这样

public class NodeModel
{
    public NodeData data;
    public NodeAttribute attr;
    public string state = "closed";
}

public class NodeData
{
    public string title;
    public string icon = "path/file.png";
}

1 个答案:

答案 0 :(得分:0)

似乎您的对象正确定义。来自jsTree文档:

  

如果icon包含斜杠/它被视为文件,用于   背景。否则 - 它作为一个类添加到“ins”节点

我假设“default / file.png”已作为CSS类添加到“ins”节点,因此也许斜杠'/'应该是第一个符号,尝试将图标值设置为“/ default / file.png”。

您也可以查看我们在project中使用jsTree的方式: