標籤:get 使用 name for c io
private List<Model.Organization.Organization> GetOrganiztions()
{
var organizations = new List<Model.Organization.Organization>();
organizations.Add(new Model.Organization.Organization
{
Id = "1",
Name = "一汽",
});
organizations.Add(new Model.Organization.Organization
{
Id = "2",
Name = "紅旗",
ParentId = "1"
});
organizations.Add(new Model.Organization.Organization
{
Id = "3",
Name = "奔騰",
ParentId = "1"
});
organizations.Add(new Model.Organization.Organization
{
Id="4",
Name="奔騰B70",
ParentId="3"
});
return organizations;
}
private void AttachChildren(TreeModel tree, List<Model.Organization.Organization> organizations)
{
if (Equals(tree, null))
{
return;
}
var organizationsTmp = organizations.Where(p => !string.IsNullOrEmpty(p.ParentId) && p.ParentId.Equals(tree.id)).ToList();
foreach (Model.Organization.Organization node in organizationsTmp)
{
var t = new TreeModel() {
id=node.Id,
text=node.Name
};
tree.children.Add(t);
this.AttachChildren(t, organizations);
}
}
public IList<TreeModel> GetTree()
{
var organizations = this.GetOrganiztions();
var rootNode = organizations.Find(p => string.IsNullOrEmpty(p.ParentId));
var tree = new TreeModel()
{
id = rootNode.Id,
text = rootNode.Name
};
this.AttachChildren(tree, organizations);
return new List<TreeModel>() { tree };
}
如果GetTree返回的是集合,則Controler調用GetTree序列化為json以後為:
[{"id":"1","text":"一汽","children":[{"id":"2","text":"紅旗","children":[]},{"id":"3","text":"奔騰","children":[{"id":"4","text":"奔騰B70","children":[]}]}]}]
如果GetTree返回的是對象,則Controler調用GetTree序列化為json以後為:
{"id":"1","text":"一汽","children":[{"id":"2","text":"紅旗","children":[]},{"id":"3","text":"奔騰","children":[{"id":"4","text":"奔騰B70","children":[]}]}]}
在asp.net mvc中前端我們可能會經常用到json數組,我們可以考慮使用Json(集合)的方式,這樣一來可以不用在前端再去處理