我在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";
}
答案 0 :(得分:0)
似乎您的对象正确定义。来自jsTree文档:
如果
icon
包含斜杠/它被视为文件,用于 背景。否则 - 它作为一个类添加到“ins”节点
我假设“default / file.png”已作为CSS类添加到“ins”节点,因此也许斜杠'/'应该是第一个符号,尝试将图标值设置为“/ default / file.png”。
您也可以查看我们在project中使用jsTree的方式: