Я использую JsTree на веб-сайте MVC. Я использую плагин json_data для заполнения дерева. Мое действие Controller возвращает JsonResult, используя класс, который я создал для представления узлов. Я читал документацию о том, как задать пользовательский значок для определенного узла, но я не могу понять, как это правильно. Кажется, предполагается, что данные должны быть объектом, содержащим строки заголовков и значков, но это остановило загрузку дерева, когда я попробовал. Структура классов, которую я сейчас использую, выглядит следующим образом.
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";
}