private void GenerateData(List<TreeNode> authorList,TreeNodeExtend parent)
 {
     foreach (var item in authorList.Where (p => p.ParentID==parent.ID))
     {
         var authorExtend=new TreeNodeExtend
         {
             ID=item.ID,
             Name=item.Name,
             Pid=item.ParentID,
             Parent=parent
         };
         parent.Children.Add (authorExtend);
         GenerateData (authorList,authorExtend);
     }
 }
 public List<TreeNodeExtend> Get(List<TreeNode> authorList)
 {
     var list=new List<TreeNodeExtend> ();
     foreach (var item in authorList.Where (p => p.ParentID=="0"))
     {
         var authorExtend=new TreeNodeExtend
         {
             ID=item.ID,
             Name=item.Name,
             Pid=item.ParentID
         };
         list.Add (authorExtend);
         GenerateData (authorList,authorExtend);
     }
     return list;
 }