【发布时间】:2013-07-16 02:50:01
【问题描述】:
我有一个返回我的类别的 SQL Server 过程。我的Category 表有一个外键,因为我的类别有一个来自同一个表的Parent_ID 列。
我以这种方式从 SQL Server 发送这些数据:
SELECT ID, Title, Desciption, Parent_ID
FROM Category
FOR XML AUTO, ROOT('Categories'), ELEMENTS
我在我的 C# 程序中通过以下方式获取这些数据:
using (XmlReader xml = cmd.ExecuteXmlReader())
{
xml.Read();
categories = xml.ReadOuterXml();
}
然后将其传递给我需要使用这些数据创建树视图的 ASP.NET 类。
我需要考虑Parent_ID 来制作树视图,以正确制作类别和子类别节点。
而且我认为应该使用递归算法。
我该怎么做?
【问题讨论】:
-
您自己发布了解决方案。将它传递给一个 ASP.NET 类,我需要用这些数据创建一个树视图,然后考虑 Parent_ID 制作树视图来制作类别和子类别节点。执行这些步骤有什么问题?
-
问题是如何使用这些信息制作树形视图:D
-
您需要遍历您的 xml 并创建节点。不知道怎么循环xml?
-
我可以用 Linq2XML 做到这一点,但考虑到 Parent_ID,我不知道如何创建树视图。例如,我有 ID=1 的类别 News 和 ID=2 且 Parent_ID=1 的类别 SportNews。我想让 SportNews 在树形视图中成为 News 的子项。我需要检查我所有的类别。
-
你可以这样做 doc.Descendants("Category").where(x=>x.Attributes("Name").Single().Value == "any value")
标签: c# asp.net sql-server recursion treeview