使用动态关键字将TreeView转换为JSON格式并进行反序列化。使用[JsonConverter(typeof(TreeNodeConverter))]
public class SubTreeNode : TreeNode
{
public dynamic obj;
}
string str = JsonConvert.SerializeObject(treeView1.Nodes, Formatting.Indented);
dynamic obj = JsonConvert.DeserializeObject(str);
库从返回的动态对象构造树视图时遇到的问题。
subNode = new SubTreeNode();
subNode.Text = "RootNode";
subNode.obj = new ExpandoObject();
subNode.obj.Property1 = "Value1";
subNode.obj.Property2 = "Value2";
subNode.obj.Property3 = "Value3";
subNode.obj.Property4 = new ExpandoObject();
subNode.obj.Property4.Complex = "Complex Object";
treeView1.Nodes.Add(subNode);
subNode = new SubTreeNode();
subNode.Text = "Node1";
subNode.obj = new ExpandoObject();
subNode.obj.Property1 = "Value1";
subNode.obj.Property2 = "Value2";
subNode.obj.Property3 = "Value3";
subNode.obj.Property4 = new ExpandoObject();
subNode.obj.Property4.Complex = "Complex Object";
treeView1.Nodes[0].Nodes.Add(subNode);
subNode = new SubTreeNode();
subNode.Text = "Node11";
subNode.obj = new ExpandoObject();
subNode.obj.Property1 = "Value1";
subNode.obj.Property2 = "Value2";
subNode.obj.Property3 = "Value3";
subNode.obj.Property4 = new ExpandoObject();
subNode.obj.Property4.Complex = "Complex Object";
treeView1.Nodes[0].Nodes[0].Nodes.Add(subNode);
subNode = new SubTreeNode();
subNode.Text = "Node2";
subNode.obj = new ExpandoObject();
subNode.obj.Property1 = "Value1";
subNode.obj.Property2 = "Value2";
subNode.obj.Property3 = "Value3";
subNode.obj.Property4 = new ExpandoObject();
subNode.obj.Property4.Complex = "Complex Object";
treeView1.Nodes[0].Nodes.Add(subNode);
subNode = new SubTreeNode();
subNode.Text = "Node21";
subNode.obj = new ExpandoObject();
subNode.obj.Property1 = "Value1";
subNode.obj.Property2 = "Value2";
subNode.obj.Property3 = "Value3";
subNode.obj.Property4 = new ExpandoObject();
subNode.obj.Property4.Complex = "Complex Object";
treeView1.Nodes[0].Nodes[1].Nodes.Add(subNode);
如何正确解析返回的动态对象并将其转换为树视图。
构建树视图的代码:
[
"RootNode",
{
"Property1": "Value1",
"Property2": "Value2",
"Property3": "Value3",
"Property4": {
"Complex": "Complex Object"
}
},
[
"Node1",
{
"Property1": "Value1",
"Property2": "Value2",
"Property3": "Value3",
"Property4": {
"Complex": "Complex Object"
}
},
[
"Node11",
{
"Property1": "Value1",
"Property2": "Value2",
"Property3": "Value3",
"Property4": {
"Complex": "Complex Object"
}
}
],
"Node2",
{
"Property1": "Value1",
"Property2": "Value2",
"Property3": "Value3",
"Property4": {
"Complex": "Complex Object"
}
},
[
"Node21",
{
"Property1": "Value1",
"Property2": "Value2",
"Property3": "Value3",
"Property4": {
"Complex": "Complex Object"
}
}
]
]
]
JSON格式:
<?php foreach ($this->header_model->getalldata() as $row) {
$image_arr = explode("/", $row->image);
$image_name = end($image_arr);
echo base_url().'images/'.$image_name;
} ?>