在ASP.NET中处理树形结构的异步数据,通常需要遵循以下步骤:
public class TreeNode { public int Id { get; set; } public string Name { get; set; } public int? ParentId { get; set; } public List<TreeNode> Children { get; set; } public TreeNode() { Children = new List<TreeNode>(); } } public async Task<List<TreeNode>> GetAsyncTreeData() { using (var context = new YourDbContext()) { return await context.Nodes .Include(n => n.Children) .ToListAsync(); } } public List<TreeNode> BuildTree(List<TreeNode> nodes, int? parentId = null) { var tree = new List<TreeNode>(); foreach (var node in nodes) { if (node.ParentId == parentId) { var children = BuildTree(nodes, node.Id); if (children.Any()) { node.Children = children; } tree.Add(node); } } return tree; } <ul>和<li>)来显示树形结构。你可以在页面的OnInit方法中调用上述BuildTree方法,并将结果绑定到控件。例如:protected override void OnInit(EventArgs e) { base.OnInit(e); var treeData = await GetAsyncTreeData(); var tree = BuildTree(treeData); TreeView.DataSource = tree; TreeView.DataBind(); } 这样,你就可以在ASP.NET页面中显示异步加载的树形结构数据了。请注意,这里的示例代码仅供参考,你可能需要根据你的实际需求和项目结构进行调整。