Всем привет! Я новичок в C# и APS.NET. У меня задание - сделать вывод данных из базы в виде иерархического списка (древесной структуры). Я создал проект веб-форм и написал такой код:
namespace HierarchyApp
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Populate_List();
}
}
private void Populate_List()
{
List<Hierarchy_Table> All_Items = new List<Hierarchy_Table>();
using (Hierarchy_DBEntities dc = new Hierarchy_DBEntities())
{
All_Items = dc.Hierarchy_Table.ToList();
}
CreateHierarchy(0, null, All_Items);
}
private void CreateHierarchy(int Parent_ID, TreeNode Parent, List<Hierarchy_Table> database_source)
{
List<Hierarchy_Table> new_database_source = database_source.Where(x => x.PARENT_ID.Equals(Parent_ID)).ToList();
foreach (var item in new_database_source)
{
TreeNode newItem = new TreeNode(item.NAME, item.ID.ToString());
if (Parent == null)
{
Hierarchy_Menu.Nodes.Add(newItem);
}
else
{
{
Parent.ChildNodes.Add(newItem);
}
CreateHierarchy(item.ID, newItem, database_source);
}
}
}
}
}
Проблема в том, что выводятся только первые элементы дерева, а их дочерние элементы не выводятся, не могу понять почему. Подскажите! Заранее спасибо.
Вы в функцию CreateHierarchy(0, null, All_Items);
в параметр Parent
передаете null
. Соответственно в самой функции, в блок else
не попадаем:
if (Parent == null) // null == null на всех итерациях цикла
{
Hierarchy_Menu.Nodes.Add(newItem);
}
else
{
{
Parent.ChildNodes.Add(newItem);
}
CreateHierarchy(item.ID, newItem, database_source);
}
Поэтому все элементы выводятся первыми.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Необходимо найти повторяющиеся элементы в массиве для этого я пишу следующие
Собственно вопрос в сабже, поток пустой при отправке jsonПосылаю тоже самое но с заголовком application/x-www-form-urlencoded и данные содержатся в потоке