0
가상 폴더 구조 목록이 있습니다. 그 목록을 JsTreeView에 바인딩해야합니다. 목록에는 다음과 같은 내용이 포함될 수 있습니다. 항목데이터베이스에서 JsTreeView 데이터 전달
Dh
Dh\Sub
Dh\Sub\Another
Dh1
Dh1\Sub1
Dh1\Sub1\Another1
Dh1\Sub1\Another2
의
목록 원하는 출력
Dh
|______ Sub
|_____Another
Dh1
|______ Sub1
|_____ Another1
|_____ Another2
으로, 나는 재귀를 사용하여 논리를 시도했다. 그러나 성공하지 못했습니다. 아무도 내가 이걸 어떻게 얻을 수 있는지 말해 줄 수 없어요. 문제에 대한 도움을 주시면 감사하겠습니다. 내가 JSON에 DB 데이터를 직렬화하고 JS 트리보기 속성이 하위 노드를 포함
/// <summary>
/// Model which represents data for js tree view
/// </summary>
public class JsTreeViewNode
{
private int int_id;
[JsonProperty(PropertyName = "id")]
public string Id { get; set; }
[JsonProperty(PropertyName = "text")]
public string Text { get; set; }
[JsonProperty(PropertyName = "children")]
public List<JsTreeViewNode> Children { get; set; }
[JsonProperty(PropertyName = "a_attr")]
public AnchorAttribute AAttributes { get; set; }
[JsonIgnore]
public int CurrentLevel { get; set; }
[JsonIgnore]
public int SortOrder { get; set; }
public JsTreeViewNode()
{
AAttributes = new AnchorAttribute();
}
public JsTreeViewNode(int id)
: this()
{
int_id = id;
this.Id = int_id.ToString();
AAttributes.Id = this.Id;
}
public int GetNodeId()
{
return int_id;
}
public JsTreeViewNode Clone()
{
var clone = (JsTreeViewNode)this.MemberwiseClone();
clone.Children = new List<JsTreeViewNode>();
clone.AAttributes = this.AAttributes.Clone();
return clone;
}
}
public class AnchorAttribute
{
[JsonProperty(PropertyName = "draggable")]
public string Draggable = "false";
[JsonProperty(PropertyName = "id")]
public string Id;
[JsonProperty(PropertyName = "class", NullValueHandling = NullValueHandling.Ignore)]
public string CssClassname;
public virtual AnchorAttribute Clone()
{
var clone = (AnchorAttribute)this.MemberwiseClone();
return clone;
}
}
어린이에로드 할 다음과 같은 클래스를 사용하고
감사