递归方式—通过子级id,获取子级和父级Name


1 #region 递归--返回 父级|子级 名称 2 3 #region --返回 父级|子级 名称 4 public string RetrurnTypeNames(string TypeId) 5 { 6 StringBuilder builder = new StringBuilder(); 7 return GetParents(TypeId, builder); 8 } 9 #endregion 10 11 #region 递归 由子级id,返回子级和父级的Name 12 public string GetParents(string TypeId, StringBuilder builder) 13 { 14 var list = knowledge_TypeIBLL.GetListWhere(null, null) as List<knowledge_Type>; 15 var result = list.Where(m => m.Id == TypeId).ToList(); 16 if (result.Count() > 0 && result[0].ParentId != null && result[0].ParentId.ToString() != " ") 17 { 18 if (result[0].ParentId.ToString() == "-1") 19 { 20 builder.Append(result[0].TypeName + "|"); 21 } 22 else 23 { 24 builder.Append(result[0].TypeName + "|"); 25 GetParents(result[0].ParentId, builder); 26 } 27 } 28 var arrays = builder.ToString().Split('|').ToArray(); 29 arrays = arrays.Where(s => !string.IsNullOrEmpty(s) && s.ToString() != " ").ToArray(); 30 var builder1 = new StringBuilder(); 31 for (int i = arrays.Count(); i > 0; i--) 32 { 33 var ul = ""; 34 var t = i - 1; 35 if (t >= 0) 36 { 37 ul += arrays.ToList()[t] + " | "; 38 builder1.Append(ul); 39 } 40 } 41 return builder1.ToString(); 42 } 43 #endregion 44 45 #endregion
View Code


1 var list = xxx_xxx_DetailIBLL.GetListWhere(where, sqlParams.ToArray()) as List<DetailView>; 2 var result = (from item in list 3 select new DetailView 4 { 5 Id = item.Id, 6 MasterScore = item.MasterScore, 7 Question = item.Question, 8 TypeId = item.TypeId, 9 TypeName = RetrurnTypeNames(item.TypeId), 10 UserId = item.UserId, 11 UserScore = item.UserScore, 12 knowledgeDataId = item.knowledgeDataId, 13 knowledgeReviewId = item.knowledgeReviewId 14 }).ToList(); 15 16 public class DetailView 17 { 18 public string Id { get; set; } 19 public string MasterScore { get; set; } 20 public string Question { get; set; } 21 public string TypeId { get; set; } 22 public string TypeName { get; set; } 23 public string UserId { get; set; } 24 public string UserScore { get; set; } 25 public string knowledgeDataId { get; set; } 26 public string knowledgeReviewId { get; set; } 27 28 }
View Code